You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "xcmonline (via GitHub)" <gi...@apache.org> on 2024/07/30 10:13:57 UTC

[I] org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration [shardingsphere]

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

   ## Bug Report
   
   **For English only**, other languages will not accept.
   
   shardingsphere-jdbc 5.5.0
   springboot 2.7.18
   mybatis-plus 3.5.7
   druid 1.2.23
   snakeyaml 2.2
   
   `
           <dependency>
                   <groupId>org.apache.shardingsphere</groupId>
                   <artifactId>shardingsphere-jdbc</artifactId>
                   <version>${shardingsphere-jdbc.version}</version>
                   <exclusions>
                       <exclusion>
                           <groupId>org.apache.shardingsphere</groupId>
                           <artifactId>shardingsphere-test-util</artifactId>
                       </exclusion>
                   </exclusions>
               </dependency>
               <!-- https://mvnrepository.com/artifact/org.yaml/snakeyaml -->
               <dependency>
                   <groupId>org.yaml</groupId>
                   <artifactId>snakeyaml</artifactId>
                   <version>${snakeyaml.version}</version>
               </dependency>
   
               <dependency>
                   <groupId>com.baomidou</groupId>
                   <artifactId>mybatis-plus-boot-starter</artifactId>
                   <version>${mybatis-plus-spring-boot.version}</version>
               </dependency>
   
              <dependency>
                   <groupId>com.alibaba</groupId>
                   <artifactId>druid-spring-boot-starter</artifactId>
                   <version>${druid.version}</version>
               </dependency>
   
               <dependency>
                   <groupId>com.mysql</groupId>
                   <artifactId>mysql-connector-j</artifactId>
                   <version>${mysql-connector.version}</version>
               </dependency>
   `
   
   application.yml
   `
   spring:
     main:
       allow-bean-definition-overriding: true
     datasource:
       driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
       url: jdbc:shardingsphere:classpath:sharding.yml
   `
   sharding.yml
   `
   dataSources:
     master:
       dataSourceClassName: com.alibaba.druid.pool.DruidDataSource
       driverClassName: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://127.0.0.1:33060/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: xxx
       password: xxx
     slave_1:
       dataSourceClassName: com.alibaba.druid.pool.DruidDataSource
       driverClassName: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://127.0.0.1:6033/test01?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: xxx
       password: xxx
   rules:
   - !SINGLE
     tables:
       - "*.*"
     defaultDataSource: master
   - !READWRITE_SPLITTING
     dataSourceGroups:
       readwrite_ds:
         writeDataSourceName: master
         readDataSourceNames:
           - slave_1
         transactionalReadQueryStrategy: PRIMARY
         loadBalancerName: random
     loadBalancers:
       random:
         type: RANDOM
   - !SHARDING
     tables:
       obs_data:
         actual-data-nodes: ds_1.obs_data_$->{2024..2999}_$->{01..12}
         table-strategy:
           standard:
             sharding-column: obs_time
             sharding-algorithm-name: obs_data_table_month_inline
         key-generate-strategy:
           column: id
           key-generator-name: snowflake
         key-generators:
           snowflake:
             type: SNOWFLAKE
             column: id
     sharding-algorithms:
       obs_data_table_month_inline:
         type: INLINE
         props:
           algorithm-expression: obs_data_$->{year(obs_time)}_$->{month(obs_time)}
   mode:
     type: Standalone
     repository:
       type: JDBC
   props:
     sql-show: true
   `
   
   
   Error Message
   `
   2024-07-30 18:04:55.172 ERROR 25736 --- [eate-1736424643] com.alibaba.druid.pool.DruidDataSource   : create connection RuntimeException
   
   org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration@424e4678
    in 'reader', line 1, column 1:
       dataSources:
       ^
   Cannot create property=dataSourceGroups for JavaBean=org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSplittingRuleConfiguration@1b58a000
    in 'reader', line 21, column 3:
       - !READWRITE_SPLITTING
         ^
   Unable to find property 'dataSourceGroups' on class: org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSplittingRuleConfiguration
    in 'reader', line 23, column 5:
           readwrite_ds:
           ^
   
    in 'reader', line 17, column 1:
       - !SINGLE
       ^
   
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:283) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:169) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:320) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:264) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:247) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:201) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:185) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:493) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:486) ~[snakeyaml-2.2.jar:na]
   	at org.apache.shardingsphere.infra.util.yaml.YamlEngine.unmarshal(YamlEngine.java:73) ~[shardingsphere-infra-util-5.5.0.jar:5.5.0]
   	at org.apache.shardingsphere.driver.api.yaml.YamlShardingSphereDataSourceFactory.createDataSource(YamlShardingSphereDataSourceFactory.java:69) ~[shardingsphere-jdbc-5.5.0.jar:5.5.0]
   	at org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.createDataSource(DriverDataSourceCache.java:55) ~[shardingsphere-jdbc-5.5.0.jar:5.5.0]
   	at org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.lambda$get$0(DriverDataSourceCache.java:48) ~[shardingsphere-jdbc-5.5.0.jar:5.5.0]
   	at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[na:na]
   	at org.apache.shardingsphere.driver.jdbc.core.driver.DriverDataSourceCache.get(DriverDataSourceCache.java:48) ~[shardingsphere-jdbc-5.5.0.jar:5.5.0]
   	at org.apache.shardingsphere.driver.ShardingSphereDriver.connect(ShardingSphereDriver.java:56) ~[shardingsphere-jdbc-5.5.0.jar:5.5.0]
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1682) ~[druid-1.2.23.jar:na]
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1803) ~[druid-1.2.23.jar:na]
   	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2914) ~[druid-1.2.23.jar:na]
   Caused by: org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=dataSourceGroups for JavaBean=org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSplittingRuleConfiguration@1b58a000
    in 'reader', line 21, column 3:
       - !READWRITE_SPLITTING
         ^
   Unable to find property 'dataSourceGroups' on class: org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSplittingRuleConfiguration
    in 'reader', line 23, column 5:
           readwrite_ds:
           ^
   
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:283) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:169) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:320) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:264) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:247) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequenceStep2(BaseConstructor.java:464) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructSequence(BaseConstructor.java:430) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructSequence.construct(Constructor.java:522) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:264) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:247) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.newInstance(Constructor.java:295) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:260) ~[snakeyaml-2.2.jar:na]
   	... 18 common frames omitted
   Caused by: org.yaml.snakeyaml.error.YAMLException: Unable to find property 'dataSourceGroups' on class: org.apache.shardingsphere.readwritesplitting.yaml.config.YamlReadwriteSplittingRuleConfiguration
   	at org.yaml.snakeyaml.introspector.PropertyUtils.getProperty(PropertyUtils.java:155) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.introspector.PropertyUtils.getProperty(PropertyUtils.java:145) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.TypeDescription.discoverProperty(TypeDescription.java:166) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.TypeDescription.getProperty(TypeDescription.java:177) ~[snakeyaml-2.2.jar:na]
   	at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:224) ~[snakeyaml-2.2.jar:na]
   	... 29 common frames omitted
   
   `
   
   
   


-- 
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: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration [shardingsphere]

Posted by "terrymanu (via GitHub)" <gi...@apache.org>.
terrymanu commented on issue #32336:
URL: https://github.com/apache/shardingsphere/issues/32336#issuecomment-2259568194

   The issue involves other third-party dependencies, but our focus is solely on ShardingSphere itself. Since ShardingSphere implements the JDBC interface, standard applications should be functional. We wish to allocate more effort towards enhancing the current version, and therefore will no longer handle such issues. Please read the documentation or provide more effective information when submitting an issue.


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration [shardingsphere]

Posted by "wenzhuo4657 (via GitHub)" <gi...@apache.org>.
wenzhuo4657 commented on issue #32336:
URL: https://github.com/apache/shardingsphere/issues/32336#issuecomment-3112216592

   I'm really fed up. If you're going to give up on solving this issue, just say so, instead of repeatedly closing the PR.


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration [shardingsphere]

Posted by "suzukua (via GitHub)" <gi...@apache.org>.
suzukua commented on issue #32336:
URL: https://github.com/apache/shardingsphere/issues/32336#issuecomment-2987452760

   Your attitude towards this project determines its future @terrymanu 


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration [shardingsphere]

Posted by "terrymanu (via GitHub)" <gi...@apache.org>.
terrymanu closed issue #32336: org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration
URL: https://github.com/apache/shardingsphere/issues/32336


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] org.yaml.snakeyaml.constructor.ConstructorException: Cannot create property=rules for JavaBean=org.apache.shardingsphere.driver.api.yaml.YamlJDBCConfiguration [shardingsphere]

Posted by "Dr-wgy (via GitHub)" <gi...@apache.org>.
Dr-wgy commented on issue #32336:
URL: https://github.com/apache/shardingsphere/issues/32336#issuecomment-3067518785

   @terrymanu why close this issue ?  a lot of person encounter this issue Does it have compatibility issues between YAML versions and Sharding


-- 
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: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org