timoninmaxim commented on a change in pull request #8206:
URL: https://github.com/apache/ignite/pull/8206#discussion_r487016500



##########
File path: 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
##########
@@ -114,6 +114,7 @@ private TcpIgniteClient(ClientConfiguration cfg) throws 
ClientException {
         binary = new ClientBinary(marsh);
 
         ch = new ReliableChannel(chFactory, cfg, binary);
+        ch.initConnection();

Review comment:
       `initCollection` perform async operations, so it will lead to escaping 
incomplete ReliableChannel. I'm not confident is there too much troubles in our 
particular case, but best practice is to avoid such situations. IMHO, lazy 
initialization is preferable but there are too much test cases that rely that 
connection is initialized from beginning. So let's do not break the API, but 
preserve this object safe.

##########
File path: 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
##########
@@ -114,6 +114,7 @@ private TcpIgniteClient(ClientConfiguration cfg) throws 
ClientException {
         binary = new ClientBinary(marsh);
 
         ch = new ReliableChannel(chFactory, cfg, binary);
+        ch.initConnection();

Review comment:
       `initCollection` perform async operations, so it will lead to escaping 
incomplete ReliableChannel. I'm not confident is there too much troubles in our 
particular case, but best practice is to avoid such situations. IMHO, lazy 
initialization is preferable but there are too much test cases that rely that 
connection is initialized from beginning. So let's do not break the API, but 
preserve this object safe.

##########
File path: 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
##########
@@ -114,6 +114,7 @@ private TcpIgniteClient(ClientConfiguration cfg) throws 
ClientException {
         binary = new ClientBinary(marsh);
 
         ch = new ReliableChannel(chFactory, cfg, binary);
+        ch.initConnection();

Review comment:
       `initCollection` perform async operations, so it will lead to escaping 
incomplete ReliableChannel. I'm not confident is there too much troubles in our 
particular case, but best practice is to avoid such situations. IMHO, lazy 
initialization is preferable but there are too much test cases that rely that 
connection is initialized from beginning. So let's do not break the API, but 
preserve this object safe.

##########
File path: 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
##########
@@ -114,6 +114,7 @@ private TcpIgniteClient(ClientConfiguration cfg) throws 
ClientException {
         binary = new ClientBinary(marsh);
 
         ch = new ReliableChannel(chFactory, cfg, binary);
+        ch.initConnection();

Review comment:
       `initCollection` perform async operations, so it will lead to escaping 
incomplete ReliableChannel. I'm not confident is there too much troubles in our 
particular case, but best practice is to avoid such situations. IMHO, lazy 
initialization is preferable but there are too much test cases that rely that 
connection is initialized from beginning. So let's do not break the API, but 
preserve this object safe.

##########
File path: 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
##########
@@ -114,6 +114,7 @@ private TcpIgniteClient(ClientConfiguration cfg) throws 
ClientException {
         binary = new ClientBinary(marsh);
 
         ch = new ReliableChannel(chFactory, cfg, binary);
+        ch.initConnection();

Review comment:
       `initCollection` perform async operations, so it will lead to escaping 
incomplete ReliableChannel. I'm not confident is there too much troubles in our 
particular case, but best practice is to avoid such situations. IMHO, lazy 
initialization is preferable but there are too much test cases that rely that 
connection is initialized from beginning. So let's do not break the API, but 
preserve this object safe.

##########
File path: 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
##########
@@ -114,6 +114,7 @@ private TcpIgniteClient(ClientConfiguration cfg) throws 
ClientException {
         binary = new ClientBinary(marsh);
 
         ch = new ReliableChannel(chFactory, cfg, binary);
+        ch.initConnection();

Review comment:
       `initCollection` perform async operations, so it will lead to escaping 
incomplete ReliableChannel. I'm not confident is there too much troubles in our 
particular case, but best practice is to avoid such situations. IMHO, lazy 
initialization is preferable but there are too much test cases that rely that 
connection is initialized from beginning. So let's do not break the API, but 
preserve this object safe.

##########
File path: 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
##########
@@ -114,6 +114,7 @@ private TcpIgniteClient(ClientConfiguration cfg) throws 
ClientException {
         binary = new ClientBinary(marsh);
 
         ch = new ReliableChannel(chFactory, cfg, binary);
+        ch.initConnection();

Review comment:
       `initCollection` perform async operations, so it will lead to escaping 
incomplete ReliableChannel. I'm not confident is there too much troubles in our 
particular case, but best practice is to avoid such situations. IMHO, lazy 
initialization is preferable but there are too much test cases that rely that 
connection is initialized from beginning. So let's do not break the API, but 
preserve this object safe.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to