mxli441 opened a new issue, #21100:
URL: https://github.com/apache/shardingsphere/issues/21100

   ## Bug Report
   
   **For English only**, other languages will not accept.
   
   Before report a bug, make sure you have:
   
   - Searched open and closed [GitHub 
issues](https://github.com/apache/shardingsphere/issues).
   - Read documentation: [ShardingSphere 
Doc](https://shardingsphere.apache.org/document/current/en/overview).
   
   Please pay attention on issues you submitted, because we maybe need more 
details. 
   If no response anymore and we cannot reproduce it on current information, we 
will **close it**.
   
   Please answer these questions before submitting your issue. Thanks!
   
   ### Which version of ShardingSphere did you use?
   shardingsphere-proxy-5.2.0
   etcd Version: 3.4.9
   opengauss 3.0.0 
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   shardingsphere-proxy
   ### Expected behavior
   ShardingSphere-Proxy can  recognize new primary db after switchovering
   ### Actual behavior
   ShardingSphere-Proxy can't recognize new primary db after switchovering
   
   ### Reason analyze (If you can)
   Maybe it is a bug or my configuration is wroing?
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule 
configuration, when exception occur etc.
   
   ### Example codes for reproduce this issue (such as a github link).
   =============server.yaml==============
   mode:
     type: Cluster
     repository:
       type: Etcd
       props:
         namespace: /governance_ds
         server-lists: 
http://172.32.153.23x:12379,http://172.32.153.24x:12379,http://172.32.153.23x:12379
         retryIntervalMilliseconds: 500
         timeToLiveSeconds: 60
         maxRetries: 3
     - !AUTHORITY
       users:
         - root@%:root
         - sharding@:sharding
       provider:
         type: ALL_PERMITTED
     - !TRANSACTION
       defaultType: XA
       providerType: Atomikos
     - !SQL_PARSER
       sqlCommentParseEnabled: true
       sqlStatementCache:
         initialCapacity: 2000
         maximumSize: 65535
       parseTreeCache:
         initialCapacity: 128
         maximumSize: 1024
   
   props:
     max-connections-size-per-query: 1
     kernel-executor-size: 16  # Infinite by default.
     proxy-frontend-flush-threshold: 128  # The default value is 128.
     proxy-hint-enabled: false
     sql-show: true
   
   ===========config-database-discovery.yaml===========
   databaseName: readwrite_db
   #
   dataSources:
     ds_0:
       url: jdbc:opengauss://172.32.153.24x:31000/d1
       username: appuser
       password: appuser@1
       connectionTimeoutMilliseconds: 3000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 50
       minPoolSize: 1
     ds_1:
       url: jdbc:opengauss://172.32.153.23x:31000/d1
       username: appuser
       password: appuser@1
       connectionTimeoutMilliseconds: 3000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 50
       minPoolSize: 1
     ds_2:
       url: jdbc:opengauss://172.32.153.23X:31000/d1
       username: appuser
       password: appuser@1
       connectionTimeoutMilliseconds: 3000
       idleTimeoutMilliseconds: 60000
       maxLifetimeMilliseconds: 1800000
       maxPoolSize: 50
       minPoolSize: 1
   
   rules:
   - !DB_DISCOVERY
     dataSources:
       readwrite_ds:
         dataSourceNames:
           - ds_0
           - ds_1
           - ds_2
         discoveryHeartbeatName: opengauss-heartbeat
         discoveryTypeName: openGauss
     discoveryHeartbeats:
       opengauss-heartbeat:
         props:
           keep-alive-cron: '0/5 * * * * ?'
     discoveryTypes:
       openGauss:
         type: openGauss.NORMAL_REPLICATION
         props:
           group-name: 92504d5b-6dec-11e8-91ea-246e9612aaf1
   
   - !READWRITE_SPLITTING
     dataSources:
       readwrite_ds:
          dynamicStrategy:
            autoAwareDataSourceName: readwrite_ds
            writeDataSourceQueryEnabled: true
          loadBalancerName: random
   
     loadBalancers:
       random:
         type: ROUND_ROBIN
   
   ===============before switchovering ===============
   Current cluster topology
   + Cluster: pg_cluster (630762503572893914) 
--+---------+---------+----+-----------+-----------------+
   | Member              | Host                 | Role    | State   | TL | Lag 
in MB | Pending restart |
   
+---------------------+----------------------+---------+---------+----+-----------+-----------------+
   | node-172.32.153.23x | 172.32.153.23x:31000 | Replica | running |  1 |      
   0 | *               |
   | node-172.32.153.23x | 172.32.153.23x:31000 | Replica | running |  1 |      
   0 | *               |
   | node-172.32.153.24x | 172.32.153.24x:31000 | Leader  | running |  1 |      
     | *               |
   
+---------------------+----------------------+---------+---------+----+-----------+-----------------+
   committed command:etcdctl get --endpoints=127.0.0.1:12379   --prefix 
/governance_ds/nodes
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_0
   replicationDelayMilliseconds: 0
   role: primary
   status: enabled
   
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_1
   replicationDelayMilliseconds: 0
   role: member
   status: enabled
   
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_2
   replicationDelayMilliseconds: 0
   role: member
   status: enabled
   inserting can commit 
   
   ==============After switchovering===============
   + Cluster: pg_cluster (630762503572893914) 
--+---------+---------+----+-----------+-----------------+
   | Member              | Host                 | Role    | State   | TL | Lag 
in MB | Pending restart |
   
+---------------------+----------------------+---------+---------+----+-----------+-----------------+
   | node-172.32.153.23x | 172.32.153.23x:31000 | Leader  | running |  2 |      
     | *               |
   | node-172.32.153.23x | 172.32.153.23x:31000 | Replica | running |  2 |      
   0 | *               |
   | node-172.32.153.24x | 172.32.153.24x:31000 | Replica | running |  2 |      
   0 | *               |
   
+---------------------+----------------------+---------+---------+----+-----------+-----------------+
   committed command:etcdctl get --endpoints=127.0.0.1:12379   --prefix 
/governance_ds/nodes 主库无变化
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_0
   replicationDelayMilliseconds: 0
   role: primary
   status: enabled
   
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_1
   replicationDelayMilliseconds: 0
   role: member
   status: enabled
   
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_2
   replicationDelayMilliseconds: 0
   role: member
   status: enabled
   
   ================Connected to database with port 3307================
    gsql -h 172.32.153.23X -p 3307 -U root readwrite_db -r                   
   Password for user root: 
   gsql ((openGauss 3.0.0 build b592536d) compiled at 2022-04-08 15:30:18 
commit 0 last mr  )
   Non-SSL connection (SSL connection is recommended when requiring 
high-security)
   Type "help" for help.
   
   readwrite_db=> \d
                            List of relations
    Schema | Name | Type  |  Owner  |             Storage              
   --------+------+-------+---------+----------------------------------
    public | test | table | appuser | {orientation=row,compression=no}
    public | t2   | table | appuser | {orientation=row,compression=no}
    public | t1   | table | appuser | {orientation=row,compression=no}
   (3 rows)
   
   readwrite_db=> insert into t1 select 1;
   ERROR:  cannot execute INSERT in a read-only transaction
   
   ==I   restarted  shardingsphere-proxy process  then shardingsphere-proxy 
recognized the new primary db ======
   
   [root@nhgapp05 conf]# ps -ef |grep -i shard
   root      55939      1 16 17:31 pts/30   00:00:42 /usr/bin/java 
-Djava.awt.headless=true -server -Xmx2g -Xms2g -Xmn1g -Xss1m 
-XX:AutoBoxCacheMax=4096 -XX:+UseNUMA -XX:+DisableExplicitGC 
-XX:LargePageSizeInBytes=128m -XX:+UseConcMarkSweepGC 
-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 
-Dio.netty.leakDetection.level=DISABLED -classpath 
/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/conf:/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/conf:.:/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/lib/*:/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/ext-lib/*
 org.apache.shardingsphere.proxy.Bootstrap -1 
/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/conf
   root      57052  56001  0 17:35 pts/30   00:00:00 grep --color=auto -i shard
   [root@nhgapp05 conf]# kill 55939
   [root@nhgapp05 conf]# sh ../bin/start.sh 
   /usr/bin/java
   we find java version: java8, full_version=1.8.0_181, full_path=/usr/bin/java
   The classpath is 
/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/conf:/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/conf:.:/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/lib/*:/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/ext-lib/*
   main class org.apache.shardingsphere.proxy.Bootstrap -1 
/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/conf 
   Starting the ShardingSphere-Proxy ... PID: 57342
   Please check the STDOUT file: 
/opt/apache-shardingsphere-5.2.0-shardingsphere-proxy-bin/logs/stdout.log
   
   ===============committed  etcdctl command  
======================================
   etcdctl get --endpoints=127.0.0.1:12379   --prefix /governance_ds/nodes 
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_0
   replicationDelayMilliseconds: 0
   role: member
   status: enabled
   
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_1
   replicationDelayMilliseconds: 0
   role: primary
   status: enabled
   
   /governance_ds/nodes/storage_nodes/readwrite_db.readwrite_ds.ds_2
   replicationDelayMilliseconds: 0
   role: member
   status: enabled
   
   ============================================================
    gsql -h 172.32.153.23x -p 3307 -U root readwrite_db -r
   Password for user root: 
   gsql ((openGauss 3.0.0 build b592536d) compiled at 2022-04-08 15:30:18 
commit 0 last mr  )
   Non-SSL connection (SSL connection is recommended when requiring 
high-security)
   Type "help" for help.
   
   readwrite_db=>  insert into t1 select 1;
   INSERT 0 1
   


-- 
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.

To unsubscribe, e-mail: 
[email protected]

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

Reply via email to