@@ -60,8 +60,12 @@ public class RediscoveryImpl implements Rediscovery {
6060 "Received a recoverable discovery error with server '%s', "
6161 + "will continue discovery with other routing servers if available. "
6262 + "Complete failure is reported separately from this entry." ;
63- private static final String INVALID_BOOKMARK_CODE = "Neo.ClientError.Transaction.InvalidBookmark" ;
64- private static final String INVALID_BOOKMARK_MIXTURE_CODE = "Neo.ClientError.Transaction.InvalidBookmarkMixture" ;
63+ private static final String TRANSACTION_INVALID_BOOKMARK_CODE = "Neo.ClientError.Transaction.InvalidBookmark" ;
64+ private static final String TRANSACTION_INVALID_BOOKMARK_MIXTURE_CODE =
65+ "Neo.ClientError.Transaction.InvalidBookmarkMixture" ;
66+ private static final String STATEMENT_ARGUMENT_ERROR_CODE = "Neo.ClientError.Statement.ArgumentError" ;
67+ private static final String REQUEST_INVALID_CODE = "Neo.ClientError.Request.Invalid" ;
68+ private static final String STATEMENT_TYPE_ERROR_CODE = "Neo.ClientError.Statement.TypeError" ;
6569
6670 private final BoltServerAddress initialRouter ;
6771 private final Logger log ;
@@ -294,7 +298,13 @@ private boolean mustAbortDiscovery(Throwable throwable) {
294298 abort = true ;
295299 } else if (throwable instanceof ClientException ) {
296300 String code = ((ClientException ) throwable ).code ();
297- abort = INVALID_BOOKMARK_CODE .equals (code ) || INVALID_BOOKMARK_MIXTURE_CODE .equals (code );
301+ abort = switch (code ) {
302+ case TRANSACTION_INVALID_BOOKMARK_CODE ,
303+ TRANSACTION_INVALID_BOOKMARK_MIXTURE_CODE ,
304+ STATEMENT_ARGUMENT_ERROR_CODE ,
305+ REQUEST_INVALID_CODE ,
306+ STATEMENT_TYPE_ERROR_CODE -> true ;
307+ default -> false ;};
298308 }
299309
300310 return abort ;
0 commit comments