Fix ClusterSessionInit

diff --git a/client/session.go b/client/session.go
index 0b55866..47985f8 100644
--- a/client/session.go
+++ b/client/session.go
@@ -1137,23 +1137,21 @@
 		session.trans = thrift.NewTSocketConf(net.JoinHostPort(e.Value.(endPoint).Host, e.Value.(endPoint).Port), &thrift.TConfiguration{
 			ConnectTimeout: time.Duration(0), // Use 0 for no timeout
 		})
-		if err == nil {
-			// session.trans = thrift.NewTFramedTransport(session.trans)	// deprecated
-			var tmp_conf = thrift.TConfiguration{MaxFrameSize: thrift.DEFAULT_MAX_FRAME_SIZE}
-			session.trans = thrift.NewTFramedTransportConf(session.trans, &tmp_conf)
-			if !session.trans.IsOpen() {
-				err = session.trans.Open()
-				if err != nil {
-					log.Println(err)
-				} else {
-					session.config = getConfig(e.Value.(endPoint).Host, e.Value.(endPoint).Port,
-						clusterConfig.UserName, clusterConfig.Password, clusterConfig.FetchSize, clusterConfig.TimeZone, clusterConfig.ConnectRetryMax)
-					break
-				}
+		// session.trans = thrift.NewTFramedTransport(session.trans)	// deprecated
+		var tmp_conf = thrift.TConfiguration{MaxFrameSize: thrift.DEFAULT_MAX_FRAME_SIZE}
+		session.trans = thrift.NewTFramedTransportConf(session.trans, &tmp_conf)
+		if !session.trans.IsOpen() {
+			err = session.trans.Open()
+			if err != nil {
+				log.Println(err)
+			} else {
+				session.config = getConfig(e.Value.(endPoint).Host, e.Value.(endPoint).Port,
+					clusterConfig.UserName, clusterConfig.Password, clusterConfig.FetchSize, clusterConfig.TimeZone, clusterConfig.ConnectRetryMax)
+				break
 			}
 		}
 	}
-	if err != nil {
+	if !session.trans.IsOpen() {
 		log.Fatal("No Server Can Connect")
 	}
 	return session
diff --git a/example/session_example.go b/example/session_example.go
index b370435..fbfba4f 100644
--- a/example/session_example.go
+++ b/example/session_example.go
@@ -57,6 +57,8 @@
 	}
 	defer session.Close()
 
+	//connectCluster()
+
 	setStorageGroup("root.ln1")
 	deleteStorageGroup("root.ln1")
 
@@ -143,6 +145,19 @@
 	deleteTimeseries("root.ln.device1.*")
 }
 
+// If your IotDB is a cluster version, you can use the following code for multi node connection
+func connectCluster() {
+	config := &client.ClusterConfig{
+		NodeUrls: strings.Split("127.0.0.1:6667,127.0.0.1:6668,127.0.0.1:6669", ","),
+		UserName: "root",
+		Password: "root",
+	}
+	session = client.NewClusterSession(config)
+	if err := session.OpenCluster(false); err != nil {
+		log.Fatal(err)
+	}
+}
+
 func printDevice1(sds *client.SessionDataSet) {
 	showTimestamp := !sds.IsIgnoreTimeStamp()
 	if showTimestamp {
@@ -667,16 +682,3 @@
 		}
 	}
 }
-
-// If your IotDB is a cluster version, you can use the following code for multi node connection
-func connectCluster() {
-	config := &client.ClusterConfig{
-		NodeUrls: strings.Split("127.0.0.1:6667,127.0.0.1:6668,127.0.0.1:6669", ","),
-		UserName: "root",
-		Password: "root",
-	}
-	session = client.NewClusterSession(config)
-	if err := session.OpenCluster(false); err != nil {
-		log.Fatal(err)
-	}
-}
diff --git a/example/session_pool/session_pool_example.go b/example/session_pool/session_pool_example.go
index a4641d9..459393b 100644
--- a/example/session_pool/session_pool_example.go
+++ b/example/session_pool/session_pool_example.go
@@ -67,6 +67,7 @@
 		}()
 
 	}
+	//useNodeUrls()
 	setStorageGroup("root.ln1")
 	setStorageGroup("root.ln2")
 	deleteStorageGroups("root.ln1", "root.ln2")
@@ -139,6 +140,25 @@
 
 }
 
+// If your IoTDB is a cluster version, you can use the following code for session pool connection
+func useNodeUrls() {
+
+	config := &client.PoolConfig{
+		UserName: user,
+		Password: password,
+		NodeUrls: strings.Split("127.0.0.1:6667,127.0.0.1:6668", ","),
+	}
+	sessionPool = client.NewSessionPool(config, 3, 60000, 60000, false)
+	defer sessionPool.Close()
+	session, err := sessionPool.GetSession()
+	defer sessionPool.PutBack(session)
+	if err != nil {
+		log.Print(err)
+		return
+	}
+
+}
+
 func setStorageGroup(sg string) {
 	session, err := sessionPool.GetSession()
 	defer sessionPool.PutBack(session)
@@ -762,22 +782,3 @@
 		}
 	}
 }
-
-// If your IotDB is a cluster version or doubleLive, you can use the following code for session pool connection
-func useSessionPool() {
-
-	config := &client.PoolConfig{
-		UserName: user,
-		Password: password,
-		NodeUrls: strings.Split("127.0.0.1:6667,127.0.0.1:6668", ","),
-	}
-	sessionPool = client.NewSessionPool(config, 3, 60000, 60000, false)
-	defer sessionPool.Close()
-	session, err := sessionPool.GetSession()
-	defer sessionPool.PutBack(session)
-	if err != nil {
-		log.Print(err)
-		return
-	}
-
-}
diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go
index 5509d40..c7a971e 100644
--- a/test/e2e/e2e_test.go
+++ b/test/e2e/e2e_test.go
@@ -24,6 +24,7 @@
 	"github.com/apache/iotdb-client-go/common"
 	"log"
 	"math/rand"
+	"strings"
 	"testing"
 	"time"
 
@@ -41,14 +42,12 @@
 }
 
 func (s *e2eTestSuite) SetupSuite() {
-	config := &client.Config{
-		Host:     "iotdb",
-		Port:     "6667",
+	clusterConfig := client.ClusterConfig{
+		NodeUrls: strings.Split("iotdb:6668,iotdb:6667,iotdb:6669", ","),
 		UserName: "root",
 		Password: "root",
 	}
-
-	s.session = client.NewSession(config)
+	s.session = client.NewClusterSession(&clusterConfig)
 	err := s.session.Open(false, 0)
 	s.Require().NoError(err)
 }