ServiceComb Pack Release Notes

    Release Notes - Apache ServiceComb - Version pack-0.7.1

Sub-task

  • [SCB-2657] - Fix wrong version placeholder for branch 0.7.x
    Release Notes - Apache ServiceComb - Version pack-0.7.0

Sub-task

  • [SCB-1370] - Support for in-process nested global transactions
  • [SCB-2219] - Use Github secrets to configure snapshot deploy to Nexus authentication
  • [SCB-2220] - Adding Github actions workflow status badge to README.md
  • [SCB-2223] - NEXUS's secret name is wrong
  • [SCB-2248] - Update jacoco version 0.8.6 for Java 11
  • [SCB-2397] - Add pack-dependencies module management dependencies
  • [SCB-2421] - Migrate Spring-Boot from 2.1.X.RELEASE to 2.3.X.RELEASE

Bug

  • [SCB-2192] - servicecomb-pack fails to build on ARM64
  • [SCB-2227] - [UI] Property or field 'upTime' cannot be found on null
  • [SCB-2231] - Github Actions only work on apache/servicecomb-pack

New Feature

  • [SCB-275] - [pack] retry compensation on failure/timeout/crash
  • [SCB-908] - TCC Events restful API
  • [SCB-1467] - Provide API to let user integration transaction with their business
  • [SCB-1510] - Add cluster metrics to the dashboard
  • [SCB-2238] - FSM event channel supports Rabbit
  • [SCB-2239] - [JDK11] Support JDK11 LTS

Improvement

  • [SCB-268] - [pack] compact events to remove unnecessary fields
  • [SCB-277] - [pack] concurrent event processing issue
  • [SCB-751] - The load balancer of Saga may be faced with peak problem.
  • [SCB-798] - GrpcMessageSender uses aync send API
  • [SCB-835] - Alpha should call the compensation method once it gets the abort event
  • [SCB-990] - Support to lookup the Omega instance if the original instance is not exit
  • [SCB-1003] - Support the transaction suspend and resume
  • [SCB-1004] - Alpha has limit request rate protection
  • [SCB-1006] - Support SagaEnd Callback invocation
  • [SCB-1057] - check the TxEndedEvent is received before doing the compensate
  • [SCB-1107] - Omega should send the compensation failure to alpha
  • [SCB-1300] - Added the accept test of retry then recovery
  • [SCB-1536] - Adapter fegin by spring-cloud-starter-openfeign 2.0.0
  • [SCB-1583] - Polish ServiceComb Pack User document about kyro Usage
  • [SCB-1596] - Support for defining OmegaContext parameters in @SagaStart and @Compensable methods
  • [SCB-1618] - Add a JMS related Saga demo
  • [SCB-1884] - Using Asciidoc to process the ServiceComb Pack docs
  • [SCB-2203] - The version of Java (1.8.0_252) you have used to run this analysis is deprecated and Sonarcloud.io stopped accepting it
  • [SCB-2204] - Acceptance Tests Akka fails
  • [SCB-2390] - ServiceComb Pack Support Mac M1
  • [SCB-2392] - Upgrade the netty version to 4.1.74
  • [SCB-2394] - The random error of AlphaIntegrationWithRandomPortTest
  • [SCB-2395] - Upgrade Log4j version
  • [SCB-2399] - Upgrade the fabric8 docker plugin to fix mac m1 issue
  • [SCB-2438] - Upgrade spring-framework version to 5.2.20
  • [SCB-2453] - Bump junit from 4.12 to 4.13.1
  • [SCB-2458] - Bump commons-io from 2.4 to 2.7

Test

  • [SCB-306] - [pack] acceptance tests with all the transaction scenarios
  • [SCB-2222] - Unstable test cases on poor performance CI
  • [SCB-2391] - Add more accept tests of TCC

Task

  • [SCB-1203] - Occasional failure TccLoadBalanceSenderTest.participateFailedThenRetry
  • [SCB-2199] - Migrate travis-ci to github workflow
  • [SCB-2205] - Polishing Github actions workflow
  • [SCB-2275] - coveralls-maven-plugin fails on Java 11 - required class missing: DatatypeConverter
  • [SCB-2368] - Introduce dependency check plugin to list the CVE related issues
  • [SCB-2425] - Refactoring the Alpha module using Spring SPI
  • [SCB-2459] - Upgrade the version of zstd-jni and lz4-java
  • [SCB-2470] - Bump spring-cloud-function-core from 3.0.14.RELEASE to 3.1.7
  • [SCB-2477] - Faster release with Maven CI Friendly Versions
  • [SCB-2486] - Pack 0.7.0-SNAPSHOT Release Failed
    Release Notes - Apache ServiceComb - Version pack-0.6.0

Sub-task

  • [SCB-1368] - Support for Akka-based Alpha clusters
  • [SCB-1424] - The retrieveDataMaps method throws a 500 error in acceptance-pack-akka-spring-demo
  • [SCB-1627] - Wait for compensation feedback after Alpha calls compensation
  • [SCB-1646] - Rename @Compensable property retries and timeout with the "forward" prefix
  • [SCB-1658] - Improve encapsulation on txEntityMap of SagaData
  • [SCB-1696] - Optimize state machine compensation retry strategy using reverseRetries and retryDelayInMilliseconds for FSM

Bug

  • [SCB-1282] - Support to inject a customer IdGenerator in Omega Spring Starter
  • [SCB-1476] - SagaStartAnnotationProcessorTimeoutWrapper should handle SagaStart.autoClose()
  • [SCB-1542] - Test build error with Alpha Server
  • [SCB-1602] - Error when generating docker image for alpha server
  • [SCB-1611] - Window not support get CPU total and load average
  • [SCB-1669] - Reverse compensation sort bug in FSM
  • [SCB-1707] - Forward compensation only sends once a failure event if multiple retries fail
  • [SCB-1842] - Akka Actor not found error in pack-0.5.0 under fsm patten

New Feature

  • [SCB-1530] - Add omega-transport-hystrix module to support thread context switching

Improvement

  • [SCB-1011] - Saga interceptor should check the gloable transaction ID
  • [SCB-1375] - clean up the accept test module
  • [SCB-1502] - Code Cleanup
  • [SCB-1514] - Aborting the further Tcc transcations when partcipate call failed
  • [SCB-1568] - Add transport section on the user guide document
  • [SCB-1585] - Optimize the Netty server thread model to split bossEventLoopGroup and workerEventLoopGroup
  • [SCB-1587] - Polish the Design document of ServiceComb Pack
  • [SCB-1593] - Use Netty native transport improve performance
  • [SCB-1597] - Refactoring the accept tests of Pack
  • [SCB-1599] - Modify the sonar warning
  • [SCB-1604] - modify InterruptedException
  • [SCB-1688] - Added prompt information when visit Alpha UI in non-state machine mode
  • [SCB-1689] - Remove “prd” profile
  • [SCB-1690] - omega-transport-resttemplate does not use RestTemplateBuilder
  • [SCB-1694] - Improve unit test coverages for APIv1Controller
  • [SCB-1695] - Add attribute mode to @Compensable annotation
  • [SCB-1877] - Fixed AlphaUI's Saga list sorted by time bug
  • [SCB-1878] - Alpha UI query error when the ES is empty
  • [SCB-1879] - Support to disable the TCC feature from Alpha Server
  • [SCB-1880] - Remove the EnableOmega annotation

Test

  • [SCB-1501] - Occasional UnitTest failure in PackIT.compensatesFailedGlobalTransaction
  • [SCB-1685] - Improve test case doNotCompensateDuplicateTxOnFailure of AlphaIntegrationTest

Task

  • [SCB-1466] - Update cluster configuration in fsm document
  • [SCB-1541] - Set the dependency of OpenFeign core scope to be provided
  • [SCB-1595] - ServiceComb Pack integrates with SonarCloud
  • [SCB-1614] - Polishing code
  • [SCB-1659] - Upgrade maven-assembly-plugin to 3.2.0
  • [SCB-1668] - Replace sun.misc.BASE64* with java.util.Base64
  • [SCB-1670] - TransactionContext should be serializable
  • [SCB-1698] - Revert "SCB-1695 Add attribute mode to @Compensable annotation"
  • [SCB-1724] - Update upgrade guide and state-diagram documents for SCB-1696
  • [SCB-1735] - Support Alpha call compensation timeout strategy
    Release Notes - Apache ServiceComb - Version pack-0.5.0

New and Noteworthy

  • Provided new Saga Transaction tracking system based on Akka Actor
  • Provided a new GUI to check the Saga Transactions
  • User can use TransactionContext to pass the transaction id information

Sub-task

  • [SCB-1372] - Collection state machine health to metrics
  • [SCB-1374] - Implement Alpha Event Channel Plugin
  • [SCB-1379] - Add alpha benchmark tool document
  • [SCB-1416] - Refactoring the core part of alpha-fsm module to move to alpha-core
  • [SCB-1417] - Alpha Event Redis Channel Plugin
  • [SCB-1418] - Alpha Event Kafka Channel Plugin
  • [SCB-1435] - State machine manual
  • [SCB-1439] - Optimize class ElasticsearchTransactionRepository persistence parameters
  • [SCB-1442] - Topic initialization & Class KafkaMessagePublisher needs to use globalTxId as the partitioning strategy.

Bug

  • [SCB-1264] - When setting server.port and alpha.server.port random port is missing the default tag configuration
  • [SCB-1281] - saga-frontend access alpha restful API has cross-domain issues
  • [SCB-1352] - Fixed a typo on ParametersContext class in servicecomb-pack
  • [SCB-1377] - The Notice file of ServiceComb-Pack need to updated
  • [SCB-1419] - ElasticsearchTransactionRepositoryTest failed for CI
  • [SCB-1421] - ElasticsearchTransactionRepositoryTest failed for CI 2
  • [SCB-1438] - Class ElasticsearchTransactionRepository synchronization save method is invalid

New Feature

  • [SCB-1349] - support Nacos Discovery
  • [SCB-1386] - Support to send out SagaEnd event in other method
  • [SCB-1411] - Add alpha-ui module to provide a simple Web GUI

Improvement

  • [SCB-575] - Publish the Java doc of ServiceComb projects
  • [SCB-1243] - Keep the handler name of saga-consumer and saga-producer
  • [SCB-1247] - Set default value in alpha.cluster.address on omega side
  • [SCB-1272] - Improvement Omega timeout processing, interrupt request thread after the timeout
  • [SCB-1279] - add omega context verification
  • [SCB-1299] - Showing the type,createtime in the Saga UI
  • [SCB-1309] - ServicePack CI build should use sprint-boot-2 profile
  • [SCB-1380] - Upgrade Java-Chassis version to 1.2.1
  • [SCB-1381] - Add common api controller to bridge the request of transaction data querying and metrics data querying
  • [SCB-1385] - Provide a common way to pass GID and LID
  • [SCB-1387] - Upgrade Spring Boot version to 2.1.6
  • [SCB-1391] - Add support for explicit tx context passing for TCC
  • [SCB-1395] - Switch to openjdk in servicecomb-pack CI build
  • [SCB-1399] - Drop the support of Spring Boot 1.x for ServiceComb-Pack
  • [SCB-1432] - fix deprecated api
  • [SCB-1443] - Adding a Rolling File Appender for Log4j2

Test

  • [SCB-1397] - Acceptance test about Byteman error
  • [SCB-1403] - byteman port configuration conflicts in all acceptance tests.
  • [SCB-1423] - Non-thread-safe method size of ConcurrentLinkedQueue in AlphaIntegrationTest

Task

  • [SCB-1026] - Saga compensation should support to define the retry times
  • [SCB-1238] - Introductory article on cluster implementation of ServiceComb Pack
  • [SCB-1241] - Update how to use mysql document
  • [SCB-1244] - Update the configuration of Pack 0.4.0 in the user guide
  • [SCB-1298] - Add Zookeeper as the Alpha server load balancer
  • [SCB-1314] - support zookeeper user_guide
  • [SCB-1335] - Upgrade docker-compose file to 3.0
  • [SCB-1353] - Travis CI should fail fast
  • [SCB-1356] - add NACOS to DiscoveryType
  • [SCB-1389] - Doc for SCB-1385
  • [SCB-1430] - Update the License file of ServiceComb Pack
  • [SCB-1440] - Remove the Kamon dependencies
    Release Notes - Apache ServiceComb - Version pack-0.4.0

New and Noteworthy

  • Provides Alpha HA implementation
  • Support to use eureka or consul to do the service discovery of Alpha
  • Fix the event scanner thread exit issue

Sub-task

  • [SCB-1180] - Unable to register eureka instance metadata on random gRPC port
  • [SCB-1187] - Update distribution LICENSE for Spring Cloud Starter Netflix
  • [SCB-1200] - Omega with consul
  • [SCB-1201] - alpha-spring-cloud-starter rename alpha-server-cloud-eureka-starter
  • [SCB-1204] - acceptance tests with consul
  • [SCB-1209] - Add a description about the integrated consul

Bug

  • [SCB-1118] - EventScanner should catch the exception to keep it running.
  • [SCB-1159] - Rxjs and TypeScript version compatibility issues
  • [SCB-1216] - Alpha Cluster support random gRPC port
  • [SCB-1217] - Consul support random gRPC port

New Feature

  • [SCB-15] - service discovery with popular open source service registry
  • [SCB-1155] - Generate a random free gRPC port to launch alpha
  • [SCB-1199] - service discovery with consul

Improvement

  • [SCB-1082] - Dependency-free-transaction-demo failed on Mac OSX
  • [SCB-1099] - Add nexus SNAPSHOT information to the README repo
  • [SCB-1100] - Updated the user guide for migration from saga 0.2.x
  • [SCB-1103] - TCC should have participate started and ended events
  • [SCB-1110] - omega-transport-feign configure file error
  • [SCB-1119] - Add the order number on the demo
  • [SCB-1121] - Clean up the OmegaContext once the invocation is over
  • [SCB-1122] - Specify the name of RestTemplate in the configuration
  • [SCB-1124] - Rename the Handler name of Omega transport
  • [SCB-1125] - Add omega instanceid to properties
  • [SCB-1127] - Support alpha server registering to Spring Cloud Eureka
  • [SCB-1128] - Omega get Alpha address from Spring Cloud Eureka
  • [SCB-1130] - Alpha cluster need distributed lock function
  • [SCB-1158] - External jars support Alpha
  • [SCB-1160] - SCB-1142 additional
  • [SCB-1171] - Improve unit test coverage for ClusterLockServiceTest
  • [SCB-1235] - Clean up third party license with maven plugin

Test

  • [SCB-306] - [pack] acceptance tests with all the transaction scenarios
  • [SCB-1152] - About abortTimeoutTxStartedEvent test case failed

Task

  • [SCB-1151] - Add Eureka instructions in the user guide
  • [SCB-1161] - Eureka integration english guide
  • [SCB-1181] - Add mvn wrap script to lock the maven version
  • [SCB-1182] - Also need to use -Pspring-boot-2 by default
  • [SCB-1189] - Update the Eureka Integration User Guide for version 0.4.0
  • [SCB-1190] - Update the mysql manual for use extension jar description
  • [SCB-1194] - Specify alphaEventBus bean with @Qualifier("alphaEventBus")
  • [SCB-1195] - About typo in eureka Integrated documentation
  • [SCB-1215] - Update document about alpha cluster
  • [SCB-1233] - Alpha Server should not include eureka dependencies by default
  • [SCB-1238] - Introductory article on cluster implementation of ServiceComb Pack
    Release Notes - Apache ServiceComb - Version pack-0.3.0

New and Noteworthy

  • Provides the TCC support
  • Rename the package name from "org.apache.servicecomb.saga" to "org.apache.servicecomb.pack"
  • Omega supports JDK 1.7
  • Using Spring-Boot 2.1 by default

Sub-task

  • [SCB-817] - Setup the TCC events
  • [SCB-818] - Omega support of TCC
  • [SCB-819] - Acceptance test of TCC Demo
  • [SCB-820] - TCC demo
  • [SCB-856] - Implement reaction of the event in Alpha Server
  • [SCB-876] - Confirm and Cancel invocation support of Omega
  • [SCB-877] - Alpha should pesistend the received TCC events
  • [SCB-923] - Provide API to access the TCC events

Bug

  • [SCB-739] - It is useless for @SagaStart timeout,and it could not be compensated under @SagaStart
  • [SCB-741] - Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'payloads' at row 1
  • [SCB-745] - RetrySender should not throw exception when go the saga start event.
  • [SCB-821] - Add missing dependencyManagement for omega-transport-feign
  • [SCB-822] - Update LICENSE/NOTICE for saga
  • [SCB-824] - Failed to build saga demos
  • [SCB-826] - SagaStart abort event should use LocalTransactionID
  • [SCB-830] - Update Chassis from 1.0.0-m2 to 1.0.0 in Saga
  • [SCB-831] - Saga UT failed at LoadBalancedClusterMessageSenderTest on Windows environment
  • [SCB-963] - Saga transactional method can't work when compensation happens
  • [SCB-1081] - CompositeOmegaCallback's compensate(TxEvent event) method has concurrency issues
  • [SCB-1098] - Pack pom need to be updated

New Feature

  • [SCB-665] - Provide TCC support
  • [SCB-730] - Add Feign transport for supporting Spring Cloud
  • [SCB-731] - Add the omega-transport-feign into distribution kit
  • [SCB-732] - Add the omega-transport-feign into distribution kit
  • [SCB-909] - Add fault tolerance for service comb TCC

Improvement

  • [SCB-244] - [pack] add demo to use pack with java chassis
  • [SCB-630] - Active the -Pdocker profile if detect the docker installation
  • [SCB-639] - upgrade docker maven plugin
  • [SCB-660] - Update the dubbo example compose file
  • [SCB-750] - Dependency management is incomplete in Saga and Java-Chassis
  • [SCB-785] - Cannot get the GlobalTxId and LocalTxId in the compensation method
  • [SCB-805] - If the node time of alpha and omega are not same, the transaction could be aborted
  • [SCB-806] - Polish alpha-server logger
  • [SCB-813] - pack-contract-grp module mvn install builds failure
  • [SCB-829] - An index on TxEvent (globalTxId) should be added
  • [SCB-853] - Support JDK7 in saga-core
  • [SCB-865] - Refactoring the Omega Interceptors
  • [SCB-868] - Added kamon metrics to Alpha Server
  • [SCB-874] - saga dubbo demo insert sql and readme optimization
  • [SCB-875] - Start the old saga demo with sh script
  • [SCB-879] - Pack the aspectj-wave jar into Alpha Server when using perf profile
  • [SCB-885] - saga alpha event scanner delete duplicate events sql optimization
  • [SCB-913] - Switch TCC demo JPA implementation
  • [SCB-916] - Clean up @order annotation in TransactionAspectConfig
  • [SCB-1013] - Support to disable the event scanner Alpha
  • [SCB-1018] - Upgrade spring boot version to 1.5.17 and 2.0.6
  • [SCB-1029] - The compensationMethod size is small
  • [SCB-1036] - Throw exception when Compensable retries below -1.
  • [SCB-1086] - Using spring-boot-2 by default
  • [SCB-1090] - Unify the logger output of the Omega transport.
  • [SCB-1091] - Upgrade the dubbo version to 2.6.4
  • [SCB-1093] - Upgrade the Spring Boot version to 2.1.1 Release

Test

  • [SCB-823] - Set up a fully functional test in kubernetes environment

Task

  • [SCB-648] - Omega support JDK7
  • [SCB-766] - Upgrade Spring Boot version to 2.0.3.Release and 1.5.14.Release
  • [SCB-784] - SagaStart annotated method should abort the saga transaction once the exception is thrown
  • [SCB-973] - TLP graduation tasks
  • [SCB-976] - Create new git repo for ServiceComb Saga-Core module
  • [SCB-1078] - Clean up the saga-core modules from saga-pack repo
  • [SCB-1097] - Clean up the distribution of servicecomb-pack