You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2019/07/12 01:05:30 UTC
[servicecomb-pack] branch master updated (6c8d109 -> ecdfe12)
This is an automated email from the ASF dual-hosted git repository.
ningjiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git.
from 6c8d109 add NACOS to DiscoveryType
new b0f5164 SCB-1321 Add Alpha FSM design document
new 5b4bf79 SCB-1321 Add Alpha FSM prototype code
new 38be0e7 SCB-1321 Add state machine uml file
new add232a SCB-1321 Sub-transaction support concurrent
new 490579e SCB-1321 Add alpha-fsm README.md
new 0770e66 SCB-1321 Add license header
new 0407692 SCB-1321 Add Saga Event Message Bus
new 9cedf94 SCB-1321 Support for defining Akka properties in application.yaml
new bc37ab7 SCB-1321 Support Akka Persistent Redis Recovery
new 550b27f SCB-1321 Add SagaActor call compensate
new 1540c0f SCB-1321 Add GrpcSagaEventService for SagaActor Events
new fca0a8b SCB-1321 Improve test cases for AlphaIntegrationFsmTest
new 8002a9d SCB-1321 Add test case duplicateTxOnFailureEvents
new ad010b3 SCB-1321 Set endTime of SagaData after actor terminates
new 2995c63 SCB-1321 Record throwable stack to SagaData
new f3acf35 SCB-1321 await wait 2 seconds
new 20742ee SCB-1321 default use mem persistence for test cases
new b6dc6b2 SCB-1321 Delete test case successfulRecoveryWithCorrectStateDataTestAndDiffentSystem
new 825d2de SCB-1321 Add test case receivedRemainingEventAndDelayLastTxEventAfterFirstTxAbortedEventTest
new 0eaacbd SCB-1321 Does not use BlockingQueue when actor model calling compensation
new 00adeee SCB-1321 Add test case for actor compensation retry
new 7e3c03e SCB-1321 Modify SagaIntegrationTest await time to 10 seconds
new d5ea94f SCB-1321 Akka configuration moved from application.yaml to SagaIntegrationTest
new 44763d5 SCB-1321 Fix test case sometimes throws an interrupt exception with CI
new 789c2d7 SCB-1321 Car service add exception rules for test
new b96101d SCB-1321 SagaActor Refactoring
new 6a400b8 SCB-1321 Rename akka enabled parameter alpha.model.actor.enabled to alpha.feature.akka.enabled
new dfa6e4e SCB-1321 Add message receiving service for the state machine
new 04ffce2 SCB-1321 Add Akka persistence default parameters
new fcd6b18 SCB-1321 Add Akka support parameters in OmegaContext
new e2f8331 SCB-1321 Refactoring interrupt Omega timeout thread
new cb04db9 SCB-1321 Add acceptance-pack-akka-spring
new 9113a8d SCB-1321 Disable integration-tests module
new 5e86fd3 SCB-1321 Update README.md for Saga State Machine Module
new a55b1d1 SCB-1321 Update README.md for Saga State Machine Module
new 141955c SCB-1321 Update README.md for Saga State Machine Module
new fe706dc SCB-1321 Add alpha benchmark tools
new e46d267 SCB-1321 Add benchmark report
new e0b8feb SCB-1321 Update WIP for alpha-fsm
new 9e2487b SCB-1321 Update document format
new fdf8574 SCB-1321 Update document format
new 4c14bba SCB-1321 Modify SagaActor log level to DEBUG
new f1b7cec SCB-1321 Delete unused methods
new ac799a1 SCB-1321 Delete unused methods
new 7f07524 SCB-1321 Remove Actor replying methods
new 527b9a0 SCB-1321 Optimize termination of SagaData cache for stress test
new ed72179 SCB-1321 Optimize Benchmark JVM Parameters
new bd0910d SCB-1321 Modify RESTful API /saga/events to /saga/events/last
new b80f98b SCB-1321 Modify Scenario Name
new 5c9b52f SCB-1321 Remove EventBus between gRPC and Akka
new db36ce4 SCB-1321 Ignore onDisconnected error
new 43e24af SCB-1321 Rename RESTful /saga to /saga/akka for acceptance tests
new 9e2710e SCB-1321 Optimize alpha throughput
new ecdfe12 SCB-1321 Recovery integration-tests module
The 54 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../pom.xml | 8 +-
.../org/apache/servicecomb/pack/PackStepdefs.java | 4 +-
.../org/apache/servicecomb/pack/RunCucumberIT.java | 0
.../booking_exception_after_post_car.btm} | 0
.../booking_exception_after_post_hotel.btm} | 2 +-
.../src/test/resources/booking_timeout.btm | 0
.../src/test/resources/log4j2-test.xml | 0
...on_after_post_car_compensated_scenario.feature} | 7 +-
..._after_post_hotel_compensated_scenario.feature} | 18 +-
...ack_booking_timeout_suspended_scenario.feature} | 10 +-
.../pack_car_fail_compensated_scenario.feature} | 15 +-
.../pack_hotel_fail_compensated_scenario.feature} | 5 +-
.../test/resources/pack_success_scenario.feature | 2 +-
acceptance-tests/pom.xml | 1 +
.../alpha-benchmark}/pom.xml | 50 +-
.../pack/alpha/benchmark/Application.java | 101 +++
.../pack/alpha/benchmark/BenchmarkMetrics.java | 102 +++
.../pack/alpha/benchmark/SagaEventBenchmark.java | 170 ++++
.../src/main/resources/application.yaml | 10 +-
.../pack/alpha/core/PushBackOmegaCallback.java | 15 +-
.../pack/alpha/core/fsm/PackSagaEvent.java | 150 ++++
alpha/alpha-fsm/Benchmark.md | 195 +++++
alpha/alpha-fsm/README.md | 74 ++
alpha/alpha-fsm/assets/cmd-0.4.0-1w-100.png | Bin 0 -> 153094 bytes
alpha/alpha-fsm/assets/cmd-0.4.0-1w-500.png | Bin 0 -> 154756 bytes
alpha/alpha-fsm/assets/cmd-0.5.0-1w-100.png | Bin 0 -> 151211 bytes
alpha/alpha-fsm/assets/cmd-0.5.0-1w-1000.png | Bin 0 -> 152949 bytes
alpha/alpha-fsm/assets/cmd-0.5.0-1w-2000.png | Bin 0 -> 156713 bytes
alpha/alpha-fsm/assets/cmd-0.5.0-1w-500.png | Bin 0 -> 151538 bytes
alpha/alpha-fsm/assets/cmd-0.5.0-5w-1000.png | Bin 0 -> 150555 bytes
alpha/alpha-fsm/assets/cmd-0.5.0-5w-2000.png | Bin 0 -> 157909 bytes
alpha/alpha-fsm/assets/cmd-0.5.0-5w-3000.png | Bin 0 -> 162355 bytes
alpha/alpha-fsm/assets/vm-0.4.0-1w-100.png | Bin 0 -> 82508 bytes
alpha/alpha-fsm/assets/vm-0.4.0-1w-500.png | Bin 0 -> 91880 bytes
alpha/alpha-fsm/assets/vm-0.5.0-1w-100.png | Bin 0 -> 89345 bytes
alpha/alpha-fsm/assets/vm-0.5.0-1w-1000.png | Bin 0 -> 84643 bytes
alpha/alpha-fsm/assets/vm-0.5.0-1w-2000.png | Bin 0 -> 84967 bytes
alpha/alpha-fsm/assets/vm-0.5.0-1w-500.png | Bin 0 -> 78440 bytes
alpha/alpha-fsm/assets/vm-0.5.0-5w-1000.png | Bin 0 -> 92723 bytes
alpha/alpha-fsm/assets/vm-0.5.0-5w-2000.png | Bin 0 -> 86282 bytes
alpha/alpha-fsm/assets/vm-0.5.0-5w-3000.png | Bin 0 -> 90599 bytes
{omega/omega-spring-tx => alpha/alpha-fsm}/pom.xml | 127 ++-
.../pack/alpha/fsm/FsmAutoConfiguration.java | 98 +++
.../servicecomb/pack/alpha/fsm/SagaActor.java | 521 +++++++++++
.../servicecomb/pack/alpha/fsm/SagaActorState.java | 19 +-
.../servicecomb/pack/alpha/fsm/TxState.java} | 12 +-
.../fsm/channel/ActiveMQActorEventChannel.java | 38 +-
.../pack/alpha/fsm/channel/ActorEventChannel.java | 9 +-
.../alpha/fsm/channel/KafkaActorEventChannel.java | 36 +-
.../alpha/fsm/channel/MemoryActorEventChannel.java | 70 ++
.../alpha/fsm/channel/RedisActorEventChannel.java | 38 +-
.../pack/alpha/fsm/domain/AddTxEventDomain.java | 70 ++
.../pack/alpha/fsm/domain/DomainEvent.java | 8 +-
.../pack/alpha/fsm/domain/SagaEndedDomain.java | 38 +-
.../pack/alpha/fsm/domain/SagaStartedDomain.java | 34 +-
.../pack/alpha/fsm/domain/UpdateTxEventDomain.java | 92 ++
.../pack/alpha/fsm/event/SagaAbortedEvent.java | 61 ++
.../pack/alpha/fsm/event/SagaEndedEvent.java | 63 ++
.../pack/alpha/fsm/event/SagaStartedEvent.java | 84 ++
.../pack/alpha/fsm/event/SagaTimeoutEvent.java | 60 ++
.../pack/alpha/fsm/event/TxAbortedEvent.java | 81 ++
.../pack/alpha/fsm/event/TxCompensatedEvent.java | 66 ++
.../fsm/event/TxComponsitedCheckInternalEvent.java | 36 +-
.../pack/alpha/fsm/event/TxEndedEvent.java | 67 ++
.../pack/alpha/fsm/event/TxStartedEvent.java | 122 +++
.../pack/alpha/fsm/event/base/BaseEvent.java} | 92 +-
.../pack/alpha/fsm/event/base/SagaEvent.java | 7 +-
.../pack/alpha/fsm/event/base/TxEvent.java | 6 +-
.../servicecomb/pack/alpha/fsm/model/SagaData.java | 216 +++++
.../servicecomb/pack/alpha/fsm/model/TxEntity.java | 215 +++++
.../pack/alpha/fsm/sink/ActorEventSink.java | 8 +-
.../pack/alpha/fsm/sink/SagaActorEventSender.java | 68 ++
.../akka/AkkaConfigPropertyAdapter.java | 68 ++
.../spring/integration/akka/SagaDataExtension.java | 111 +++
.../integration/akka/SpringAkkaExtension.java | 76 ++
.../eventbus/EventSubscribeBeanPostProcessor.java | 62 ++
.../src/main/resources/META-INF/spring.factories | 2 +-
.../servicecomb/pack/alpha/fsm/SagaActorTest.java | 971 +++++++++++++++++++++
.../pack/alpha/fsm/SagaApplication.java | 8 +-
.../pack/alpha/fsm/SagaEventSender.java | 355 ++++++++
.../pack/alpha/fsm/SagaIntegrationTest.java | 320 +++++++
.../alpha-fsm/src/test/resources/log4j2.xml | 0
alpha/alpha-server/pom.xml | 16 +
.../servicecomb/pack/alpha/server/AlphaConfig.java | 22 +
.../pack/alpha/server/AlphaEventController.java | 1 +
.../FsmSagaDataController.java} | 51 +-
.../alpha/server/{ => fsm}/GrpcOmegaCallback.java | 11 +-
.../alpha/server/fsm/GrpcSagaEventService.java | 150 ++++
.../src/main/resources/application.yaml | 26 +
.../alpha/server/fsm/AlphaIntegrationFsmTest.java | 479 ++++++++++
.../alpha/server/fsm/OmegaEventSagaSimulator.java | 294 +++++++
.../pack/alpha/server/fsm/OmegaEventSender.java | 163 ++++
.../alpha-server/src/test/resources/log4j2.xml | 0
alpha/pom.xml | 2 +
.../pack/demo/booking/BookingController.java | 6 +-
.../pack/demo/car/CarBookingService.java | 3 +
docs/fsm/assets/fsm.png | Bin 0 -> 296145 bytes
docs/fsm/assets/saga_state_diagram.png | Bin 0 -> 244645 bytes
docs/fsm/assets/state_table.png | Bin 0 -> 311887 bytes
docs/fsm/design_fsm_zh.md | 182 ++++
docs/fsm/plantuml/saga-state-diagram.puml | 52 ++
.../pack/omega/context/OmegaContext.java | 12 +
.../pack/omega/spring/OmegaSpringConfig.java | 6 +-
.../omega/transaction/AbstractRecoveryPolicy.java | 5 +-
.../omega/transaction/CompensableInterceptor.java | 2 +-
.../transaction/RecoveryPolicyTimeoutWrapper.java | 226 -----
.../{TxAbortedEvent.java => SagaAbortedEvent.java} | 9 +-
.../transaction/SagaStartAnnotationProcessor.java | 22 +-
.../pack/omega/transaction/SagaStartAspect.java | 35 +-
.../wrapper/RecoveryPolicyTimeoutWrapper.java | 222 +++++
...SagaStartAnnotationProcessorTimeoutWrapper.java | 107 +++
.../SagaStartAnnotationProcessorWrapper.java} | 32 +-
.../omega/transaction/wrapper/TimeoutProb.java | 92 ++
.../transaction/wrapper/TimeoutProbManager.java | 100 +++
.../omega/transaction/ForwardRecoveryTest.java | 6 +-
.../omega/transaction/SagaStartAspectTest.java | 44 +-
.../apache/servicecomb/pack/common/EventType.java | 5 +-
pom.xml | 5 +
118 files changed, 7107 insertions(+), 655 deletions(-)
copy acceptance-tests/{acceptance-pack-spring-demo => acceptance-pack-akka-spring-demo}/pom.xml (96%)
copy acceptance-tests/{acceptance-pack-spring-demo-with-consul => acceptance-pack-akka-spring-demo}/src/test/java/org/apache/servicecomb/pack/PackStepdefs.java (99%)
copy acceptance-tests/{acceptance-pack-tcc-spring-demo => acceptance-pack-akka-spring-demo}/src/test/java/org/apache/servicecomb/pack/RunCucumberIT.java (100%)
copy acceptance-tests/{acceptance-pack-spring-demo/src/test/resources/booking_exception.btm => acceptance-pack-akka-spring-demo/src/test/resources/booking_exception_after_post_car.btm} (100%)
copy acceptance-tests/{acceptance-pack-spring-demo-with-consul/src/test/resources/booking_exception.btm => acceptance-pack-akka-spring-demo/src/test/resources/booking_exception_after_post_hotel.btm} (98%)
copy acceptance-tests/{acceptance-pack-spring-demo => acceptance-pack-akka-spring-demo}/src/test/resources/booking_timeout.btm (100%)
copy {omega/omega-transaction => acceptance-tests/acceptance-pack-akka-spring-demo}/src/test/resources/log4j2-test.xml (100%)
copy acceptance-tests/{acceptance-pack-spring-demo-with-consul/src/test/resources/pack_post_car_exception_scenario.feature => acceptance-pack-akka-spring-demo/src/test/resources/pack_booking_exception_after_post_car_compensated_scenario.feature} (86%)
copy acceptance-tests/{acceptance-pack-cluster-spring-demo/src/test/resources/pack_timeout_scenario.feature => acceptance-pack-akka-spring-demo/src/test/resources/pack_booking_exception_after_post_hotel_compensated_scenario.feature} (81%)
copy acceptance-tests/{acceptance-pack-cluster-spring-demo/src/test/resources/pack_timeout_scenario.feature => acceptance-pack-akka-spring-demo/src/test/resources/pack_booking_timeout_suspended_scenario.feature} (83%)
copy acceptance-tests/{acceptance-pack-spring-demo-with-nacos/src/test/resources/pack_compensation_scenario.feature => acceptance-pack-akka-spring-demo/src/test/resources/pack_car_fail_compensated_scenario.feature} (74%)
copy acceptance-tests/{acceptance-pack-spring-demo-with-nacos/src/test/resources/pack_compensation_scenario.feature => acceptance-pack-akka-spring-demo/src/test/resources/pack_hotel_fail_compensated_scenario.feature} (91%)
copy acceptance-tests/{acceptance-pack-spring-demo-with-nacos => acceptance-pack-akka-spring-demo}/src/test/resources/pack_success_scenario.feature (98%)
copy {persistence/persistence-jpa => alpha/alpha-benchmark}/pom.xml (66%)
create mode 100644 alpha/alpha-benchmark/src/main/java/org/apache/servicecomb/pack/alpha/benchmark/Application.java
create mode 100644 alpha/alpha-benchmark/src/main/java/org/apache/servicecomb/pack/alpha/benchmark/BenchmarkMetrics.java
create mode 100644 alpha/alpha-benchmark/src/main/java/org/apache/servicecomb/pack/alpha/benchmark/SagaEventBenchmark.java
copy {demo/saga-servicecomb-demo/scb-booking => alpha/alpha-benchmark}/src/main/resources/application.yaml (90%)
create mode 100644 alpha/alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/fsm/PackSagaEvent.java
create mode 100644 alpha/alpha-fsm/Benchmark.md
create mode 100644 alpha/alpha-fsm/README.md
create mode 100644 alpha/alpha-fsm/assets/cmd-0.4.0-1w-100.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.4.0-1w-500.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.5.0-1w-100.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.5.0-1w-1000.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.5.0-1w-2000.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.5.0-1w-500.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.5.0-5w-1000.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.5.0-5w-2000.png
create mode 100644 alpha/alpha-fsm/assets/cmd-0.5.0-5w-3000.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.4.0-1w-100.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.4.0-1w-500.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.5.0-1w-100.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.5.0-1w-1000.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.5.0-1w-2000.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.5.0-1w-500.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.5.0-5w-1000.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.5.0-5w-2000.png
create mode 100644 alpha/alpha-fsm/assets/vm-0.5.0-5w-3000.png
copy {omega/omega-spring-tx => alpha/alpha-fsm}/pom.xml (58%)
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/FsmAutoConfiguration.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/SagaActor.java
copy omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/UniqueIdGenerator.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/SagaActorState.java (72%)
copy alpha/{alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/AlphaException.java => alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/TxState.java} (79%)
copy omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/ReconnectStreamObserver.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/ActiveMQActorEventChannel.java (57%)
copy omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/IdGenerator.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/ActorEventChannel.java (81%)
copy omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/ReconnectStreamObserver.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/KafkaActorEventChannel.java (57%)
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/MemoryActorEventChannel.java
copy omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/ReconnectStreamObserver.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/RedisActorEventChannel.java (57%)
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/AddTxEventDomain.java
copy omega/omega-context/src/main/java/org/apache/servicecomb/pack/omega/context/IdGenerator.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/DomainEvent.java (80%)
copy omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/tcc/events/TccStartedEvent.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/SagaEndedDomain.java (57%)
copy omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/tcc/DefaultParametersContext.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/SagaStartedDomain.java (51%)
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/domain/UpdateTxEventDomain.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/SagaAbortedEvent.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/SagaEndedEvent.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/SagaStartedEvent.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/SagaTimeoutEvent.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/TxAbortedEvent.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/TxCompensatedEvent.java
copy demo/saga-dubbo-demo/service-pub/src/main/java/org/apache/servicecomb/pack/demo/dubbo/pub/ServiceVO.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/TxComponsitedCheckInternalEvent.java (60%)
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/TxEndedEvent.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/TxStartedEvent.java
copy alpha/{alpha-core/src/main/java/org/apache/servicecomb/pack/alpha/core/TxTimeout.java => alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/base/BaseEvent.java} (53%)
copy pack-common/src/main/java/org/apache/servicecomb/pack/common/TransactionStatus.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/base/SagaEvent.java (88%)
copy omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/TransactionType.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/event/base/TxEvent.java (88%)
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/model/SagaData.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/model/TxEntity.java
copy omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/SenderExecutor.java => alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/sink/ActorEventSink.java (80%)
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/sink/SagaActorEventSender.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/spring/integration/akka/AkkaConfigPropertyAdapter.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/spring/integration/akka/SagaDataExtension.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/spring/integration/akka/SpringAkkaExtension.java
create mode 100644 alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/spring/integration/eventbus/EventSubscribeBeanPostProcessor.java
copy {omega/omega-spring-starter => alpha/alpha-fsm}/src/main/resources/META-INF/spring.factories (93%)
create mode 100644 alpha/alpha-fsm/src/test/java/org/apache/servicecomb/pack/alpha/fsm/SagaActorTest.java
copy omega/omega-spring-tx/src/test/java/org/apache/servicecomb/pack/omega/transaction/spring/TransactionTestMain.java => alpha/alpha-fsm/src/test/java/org/apache/servicecomb/pack/alpha/fsm/SagaApplication.java (82%)
create mode 100644 alpha/alpha-fsm/src/test/java/org/apache/servicecomb/pack/alpha/fsm/SagaEventSender.java
create mode 100644 alpha/alpha-fsm/src/test/java/org/apache/servicecomb/pack/alpha/fsm/SagaIntegrationTest.java
copy omega/omega-transaction/src/test/resources/log4j2-test.xml => alpha/alpha-fsm/src/test/resources/log4j2.xml (100%)
copy alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/{AlphaEventController.java => fsm/FsmSagaDataController.java} (65%)
copy alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/{ => fsm}/GrpcOmegaCallback.java (96%)
create mode 100644 alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/GrpcSagaEventService.java
create mode 100644 alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/fsm/AlphaIntegrationFsmTest.java
create mode 100644 alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/fsm/OmegaEventSagaSimulator.java
create mode 100644 alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/fsm/OmegaEventSender.java
copy omega/omega-transaction/src/test/resources/log4j2-test.xml => alpha/alpha-server/src/test/resources/log4j2.xml (100%)
create mode 100644 docs/fsm/assets/fsm.png
create mode 100644 docs/fsm/assets/saga_state_diagram.png
create mode 100644 docs/fsm/assets/state_table.png
create mode 100644 docs/fsm/design_fsm_zh.md
create mode 100644 docs/fsm/plantuml/saga-state-diagram.puml
delete mode 100644 omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/RecoveryPolicyTimeoutWrapper.java
copy omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/{TxAbortedEvent.java => SagaAbortedEvent.java} (83%)
create mode 100644 omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java
create mode 100644 omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/SagaStartAnnotationProcessorTimeoutWrapper.java
copy omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/{SagaStartAspect.java => wrapper/SagaStartAnnotationProcessorWrapper.java} (74%)
create mode 100644 omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/TimeoutProb.java
create mode 100644 omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/TimeoutProbManager.java