Giter VIP home page Giter VIP logo

opensharding-spi-impl's Issues

sharding-spring-transaction remove spring-aop and hibernate dependence

Current annotation ShardingTransactionType is implemented by spring-aop.
And depend part of hibernate when be used to change transaction type for shardind-proxy.
So it's necessary to refactor this part features to remove these dependence.

  • remove spring-aop-boot-starter dependence
  • separate jdbc and proxy transaction-spring
  • remove hibernate dependence by spi

consider about adding StreamBasedSaga instead of GraphBasedSaga

currently, we integrated with saga using graph based engine.
it need us to collect all participated actual SQL, then submit to saga actuator in commit/rollback phase. if application crashed before invoking saga actuator, undo log of branch transaction SQL will not be saved, so recovery thread will not be executed correctly.

it's better that encapsulating every actual SQL as a saga task, then submit to saga actuator realtime instead of batch processing all the SQLs at commit/rollback phase. this architecture will make the boundary more clear between shardingsphre and saga, currently we have done some additional work for integrating saga.

another compile error

Another compile error like issue #55.

  1. I deployed the ss dependencies by following command in ss dev branch
    mvn clean install -Dmaven.test.skip -Prelease
  2. I try to compile spi-impl by following command
    mvn clean install -Dmaven.test.skip -U
  3. and I got some compiled errors:
    image

After check ss git history, it seems that sharding-core-optimize module had renamed to sharding-core-preprocessor on 27 Sep:

image

BTW , the version of both project is 4.0.0-RC3-SNAPSHOT .

NativeZookeeperRegistryCenter

Class 'NativeZookeeperRegistryCenter' must either be declared abstract or implement abstract method 'initLock(String)' in 'RegistryCenter' in 4.0.0-RC2-SNAPSHOT version

compile error

before commit this issue, I understand there must be some stratagy to check compile or dependecis or something like that by travis . however , I do got confused by some compiled erorr, please give me a hand cherry @cherrylzhao

  1. I deployed the ss dependencies by following command in ss dev branch
mvn clean install -Dmaven.test.skip -Prelease
  1. I try to compile spi-impl by following command
mvn clean install -Dmaven.test.skip -U
  1. and I got some compiled errors

Jietu20190809-error

for example , SQLRevertExecutorContext.java in spi-impl, one variable

Jietu20190809-spi-impl

the path for OptimizedStatement is org.apache.shardingsphere.core.optimize.statement.OptimizedStatement

but in ss , the packge path for OptimizedStatement is org.apache.shardingsphere.core.optimize.api.statement

Jietu20190809-ss

BTW , the version of both project is 4.0.0-RC2-SNAPSHOT .

consider about adding recovery for transaction-base-saga.

saga-actuator only provide a central recovery mechanism. recovery thread will be started independent on server side. but this could not work for sharding-sphere, physical datasource only kept on the application side. so we need make every application instance recovery independently. if one instance have crashed, it can be failover to another available instance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.