Skip to content

Commit fe3749c

Browse files
authored
Bugfix/reconnection 401 (#372)
* closing connection on failed authentication * changelog upd
1 parent e6749ab commit fe3749c

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

ChangeLog.md

+2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
66

77
## [Unreleased]
88

9+
- fixed closing connection on failed authentication (#ES-772)
10+
911
## [6.8.1] - 2020-12-22
1012

1113
- fixed ignoring internal endpoints in acquireHostList (#DEVSUP-673)

src/main/java/com/arangodb/internal/velocystream/VstCommunication.java

+16-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@
2222

2323
import com.arangodb.ArangoDBException;
2424
import com.arangodb.internal.ArangoDefaults;
25-
import com.arangodb.internal.net.*;
25+
import com.arangodb.internal.net.AccessType;
26+
import com.arangodb.internal.net.ArangoDBRedirectException;
27+
import com.arangodb.internal.net.Host;
28+
import com.arangodb.internal.net.HostDescription;
29+
import com.arangodb.internal.net.HostHandle;
30+
import com.arangodb.internal.net.HostHandler;
2631
import com.arangodb.internal.util.HostUtils;
2732
import com.arangodb.internal.util.RequestUtils;
2833
import com.arangodb.internal.util.ResponseUtils;
@@ -87,7 +92,7 @@ protected synchronized C connect(final HostHandle hostHandle, final AccessType a
8792
connection.open();
8893
hostHandler.success();
8994
if (user != null) {
90-
authenticate(connection);
95+
tryAuthenticate(connection);
9196
}
9297
hostHandler.confirm();
9398
return connection;
@@ -111,6 +116,15 @@ protected synchronized C connect(final HostHandle hostHandle, final AccessType a
111116
}
112117
}
113118

119+
private void tryAuthenticate(final C connection) {
120+
try {
121+
authenticate(connection);
122+
} catch (final ArangoDBException authException) {
123+
connection.close();
124+
throw authException;
125+
}
126+
}
127+
114128
protected abstract void authenticate(final C connection);
115129

116130
@Override

0 commit comments

Comments
 (0)