Skip to content

Releases: scalar-labs/scalardb

v3.4.0

02 Dec 10:14
Compare
Choose a tag to compare

Enhancements

  • Add ConsensusCommitUtils (#367)
  • Add KeyBytesEncoder that converts a key to bytes while preserving the sort order (#369)
  • Add clustering order support to JDBC adapter (#378)
  • Add clustering order support to Dynamo adapter (#385)
  • Add supporting schema creation/deletion can be called from program (#366)

Improvements

  • Refactor XXXConfig classes (#372)
  • Remove UnsupportedTypeException (#373)
  • Add null or empty check for partition key and clustering key (#370)
  • Allow empty value for partition key and clustering key (#374)
  • Add dockerize to Dockerfile for grpc-server (#376)
  • Add more tests to the multiple clustering key integration test (#380)
  • Refactor CosmosAdmin (#382)
  • Disallow empty values for Partition key and Clustering key (#381)
  • DynamoDB sort key optimization (#375)
  • Add single clustering key scan integration test (#386)
  • Add column value integration test (#387)
  • Add secondary index integration test (#389)
  • Add partition key integration tests (#388)
  • Add syntax highlighting for the dependency in README.md (#384)
  • Run integration tests concurrently (#390)
  • Introduce prometheus simpleclient_hotspot (#391)
  • Add integration tests for clustering order (#393)
  • Reduce integration test concurrency (#397)
  • Add some more admin integration tests (#394)
  • Modify Dockerfile to run as non-root (#395)
  • Add -XX:MaxRAMPercentage parameter to SCALARDB_SERVER_OPTS (#392)
  • Improve KeyBytesEncoderTest (#379)
  • Reduce Intellij warnings (#400)
  • Adjust integration test concurrency (#399)
  • Small fix for release.yaml (#402)

Bug fixes

  • Fix hashCode() in XXXValue and Key classes (#377)
  • Should show the warning message only when specifying storage specific options (#396)
  • Should add a suffix to the metadata table name in DynamoWithReservedKeywordIntegrationTest (#401)

Documentation

  • Improve Multi-storage documentation (#365)
  • Improve Schema loader document (#368)

v3.3.1

02 Dec 08:33
Compare
Choose a tag to compare

Improvements

  • Add more tests to the multiple clustering key integration test (#380)
  • Add single clustering key scan integration test (#386)
  • Add column value integration test (#387)
  • Add secondary index integration test (#389)
  • Add partition key integration tests (#388)
  • Run integration tests concurrently (#390)
  • Reduce integration test concurrency (#397)
  • Adjust integration test concurrency (#399)

Bug fixes

  • Fix hashCode() in XXXValue and Key classes (#377)
  • Should show the warning message only when specifying storage specific options (#396)
  • Should add a suffix to the metadata table name in DynamoWithReservedKeywordIntegrationTest (#401)

v3.2.2

02 Dec 06:21
Compare
Choose a tag to compare

Improvements

  • Add more tests to the multiple clustering key integration test (#380)
  • Add column value integration test (#387)
  • Add secondary index integration test (#389)
  • Add partition key integration tests (#388)

Bug fixes

  • Fix hashCode() in XXXValue and Key classes (#377)

v3.3.0

01 Nov 16:33
Compare
Choose a tag to compare

Enhancements

  • Add ConsensusCommitAdmin that manages transactional tables and coordinator table (#314)
  • Make Coordinator namespace name configurable (#320)
  • Make table metadata namespace name configurable in DynamoDB adapter (#323)
  • Make table metadata schema name configurable in JDBC adapter (#324)
  • Make table metadata database name configurable in Cosmos DB adapter (#322)
  • Add Table metadata cache expiration configuration (#321)
  • Add ifExists support to dropNamespace() and dropTable() in DistributedStorageAdmin (#330)
  • Add methods to truncate and drop coordinator table to ConsensusCommitAdmin (#329)
  • Add Clustering order support to Cosmos DB adapter (#345)
  • Add tableExists method (#351)
  • Implementation of schema tool in Java (#280)
  • Add Schema loader things to the release action (#363)
  • Add dockerizing for the schema-loader (#350)

Improvements

  • Remove metadata from Coordinator (#315)
  • Refactoring dynamo integration tests (#318)
  • Refactor XXXAdmin (#317)
  • Create Coordinator namespace in ConsensusCommitAdmin (#325)
  • Make Coordinator backward compatible (#331)
  • Refactor integration tests (#332)
  • Remove namespace prefix (#333)
  • Add no_output_timeout option for Cosmos DB integration test (#334)
  • Disallow using BLOB type for clustering keys in Cosmos DB adapter (#339)
  • Restrict BigIntValue range (#340)
  • Refactor JdbcDatabaseAdmin (#338)
  • Use composite index in Cosmos DB adapter (#335)
  • Make command line params more flexible in Schema loader (#342)
  • Add Gradle options for disabling Gradle daemon in the CI (#343)
  • Add integration tests for scanning operations on multiple clustering keys (#319)
  • Fix a javadoc warning (#353)
  • Add some reports to CI (#354)
  • Delete unnecessary files (#355)
  • Upgrade AWS SDK version (#356)
  • Make properties in DatabaseConfig visible (#357)
  • Use log4j2 in Scalar DB server (#358)
  • Schema loader return proper exit code, add a deprecated warning when using storage-specific command, remove Powermock (#348)
  • Use MockitoAnnotations.openMocks() instead of MockitoAnnotations.initMocks() (#360)
  • Change the default values of JDBC connection pool configurations (#361)

Bug fixes

  • Fixed broken link. (#313)
  • Correct comparator of item sorter in Dynamo DB adapter (#327)
  • FloatValue should be mapped to double type in MySQL (#337)
  • Fix duplicate of equal fields in the query when do range scanning with multiple clustering keys in Cassandra adapter (#328)
  • Fix default collation of tables when creating in JDBC DBs, make them be consistent with others. (#336)
  • Using scan to count items in the table instead of using table description. (#341)
  • Fix command options are invalid when dispatching to storage specific command in schema loader (#346)
  • Dynamo Admin wait for continuous backup enabled already before updating point-in-time recovery, wait for deletion of table finish (#347)

Documentation

  • Refactor documentation (#364)
  • Update documents that are related to schema loader (#352)

v3.2.1

01 Nov 05:36
Compare
Choose a tag to compare

Improvements

  • Disallow using BLOB type for clustering keys in Cosmos DB adapter (#339)
  • Restrict BigIntValue range (#340)
  • Upgrade AWS SDK version (#356)
  • Refactor XXXAdmin (#317)
  • Use log4j2 in Scalar DB server (#358)
  • Change libssl and openssl versions in Dockerfile in scalar-schema (#362)

Bug fixes

  • FloatValue should be mapped to double type in MySQL (#337)
  • Fix duplicate of equal fields in the query when do range scanning with multiple clustering keys in Cassandra adapter (#328)
  • Fix default collation of tables when creating in JDBC DBs, make them be consistent with others. (#336)
  • Fixed broken link. (#313)
  • Correct comparator of item sorter in Dynamo DB adapter (#327)
  • Using scan to count items in the table instead of using table description. (#341)
  • Dynamo Admin wait for continuous backup enabled already before updating point-in-time recovery, wait for deletion of table finish (#347)

v3.1.2

01 Nov 04:38
Compare
Choose a tag to compare

Improvements

Bug fixes

  • Fix cqlsh install failure (#359)
  • Fix duplicate of equal fields in the query when do range scanning with multiple clustering keys in Cassandra adapter (#328)
  • Correct comparator of item sorter in Dynamo DB adapter (#327)

v3.2.0

17 Sep 05:56
Compare
Choose a tag to compare

Enhancements

  • Implement addition and deletion of metadata table for jdbc metadata manager (#259)
  • Add useful constructors to Key with a single value (#265)
  • add scalar-schema dockerfile (#266)
  • Add integration test for JDBC SqlServer to the CI configuration (#269)
  • Add create, truncate and delete table implementation to JDBCAdmin (#270)
  • Introduce factory classes to instantiate storage and transaction (#276)
  • Add create, truncate and delete table implementation to Cassandra Admin (#278)
  • Add Two-phase Consensus Commit (#299)
  • Support Two-phase Commit Transactions in Scalar DB server (#302)
  • Add active_transactions_management config to GrpcTwoPhaseCommitTransactionManager (#304)
  • Implementation of Dynamo Admin module (#301)

Improvements

  • Refactor build.gradle (#261)
  • Disable Prometheus HTTP endpoint when the port is specified to zero in Scalar DB server (#260)
  • Introduce Spotbugs plugin (#262)
  • Introduce Error Prone plugin (#263)
  • Use the new utility methods/constructors (#268)
  • Rename the integrationTest source set to integrationTestAll (#272)
  • Add publishToMavenLocal for archiving and uploading to maven central (#273)
  • Reduce the Cassandra heap size for the multi-storage integration test (#275)
  • Refactor Prometheus exporter (#274)
  • Fix optimization warnings (#279)
  • Add a new createTable() method without any options to DistributedStorageAdmin (#281)
  • Update scalar db compatibility matrix (#282)
  • Reduce IntelliJ warnings (#287)
  • Add .gitignore (#289)
  • Add some attributes to Oracle tables for performance (#285)
  • Rename metrics names of Scalar DB server (#277)
  • Update Cassandra & Jdbc admin with new interface (#288)
  • Use Cassandra Admin in MultiStorage integration test (#292)
  • Rename CassandraAdmin network-strategy to replication-strategy (#293)
  • Finalize Cosmos DB Admin implementation (#290)
  • Separate consensus commit related config from DatabaseConfig (#294)
  • Add tests for getState() and abort() in DistributedTransactionManager to the ConsensusCommit integration test (#295)
  • Update MultiStorageAdmin with new interface (#296)
  • Update GrpcAdmin with new interface (#297)
  • Fix CVE-2021-3711 (#298)
  • Remove unchecked warnings (#305)
  • Fix typos (#306)
  • Fix Javadoc related things (#307)
  • Upgrade the Error Prone plugin (#308)
  • Add Javadoc for DistributedStorageAdmin (#309)
  • Change service name of TwoPhaseCommitTransactionService (#310)
  • Refactor CassandraAdmin and CosmosAdmin (#311)
  • Introduce GateKeeper that manages the front gate of the server that processes requests (#291)

Bug fixes

  • Use column name alias for projection expressions in the DynamoDB adapter (#264)

Documentation

  • Add Scalar DB supported databases (#249)
  • Update the Javadoc URL (#267)
  • Update the Getting Started (#283)
  • Update the JDBC document for the Oracle support (#284)
  • Update Scalar DB Server Sample URL (#300)
  • Add documentation for Two-phase Commit Transactions (#303)

v3.1.1

26 Aug 01:36
Compare
Choose a tag to compare

Enhancements

  • Add useful constructors to Key with a single value (#265)
  • add scalar-schema dockerfile (#266)
  • Add integration test for JDBC SqlServer to the CI configuration (#269)
  • Introduce factory classes to instantiate storage and transaction (#276)

Improvements

  • Refactor build.gradle (#261)
  • Introduce Spotbugs plugin (#262)
  • Introduce Error Prone plugin (#263)
  • Use the new utility methods/constructors (#268)
  • Rename the integrationTest source set to integrationTestAll (#272)
  • Add publishToMavenLocal for archiving and uploading to maven central (#273)
  • Reduce the Cassandra heap size for the multi-storage integration test (#275)

Bug fixes

  • Use column name alias for projection expressions in the DynamoDB adapter (#264)

v3.0.2

25 Aug 04:05
Compare
Choose a tag to compare

Bug fixes

  • Use column name alias for projection expressions in the DynamoDB adapter (#264)

v3.1.0

26 Jul 03:48
Compare
Choose a tag to compare

Enhancements

  • Expose the Prometheus HTTP endpoint port in the Scalar DB server Docker image (#251)
  • Refactoring the code around DatabaseConfig (#247)
  • Support Prometheus in Scalar DB Server (#246)
  • Add metrics to Scalar DB Server (#245)
  • Add the admin interface to Scalar DB server (#240)
  • Add transaction manager config (#239)
  • Make Scalar DB transactions be able to abort eagerly (#238)
  • Add Docker support for Scalar DB Server (#227)
  • Add gPRC layer for DistributedTransaction (#216)
  • Add gPRC layer for DistributedStorage and DistributedStorageAdmin (#210)
  • Introduce DistributedStorageAdmin that is an administrative interface for distributed storage implementations (#204)
  • Fix warnings of raw use of parameterized class for the Value class (#196)
  • Refactor some configuration names (#179)
  • Add a new storage implementation for multi-storage (#174)

Improvements

  • Some more release related changes (#258)
  • Some changes for release (#257)
  • Some changes related to release (#256)
  • Use the Scalar DB server default port if not specified in the Scalar DB server client (#250)
  • Support deadline in Scalar DB Server clients (#248)
  • Support graceful shutdown (#244)
  • Some refactoring for the implementations of DistributedStorageAdmin (#243)
  • Use Uninterruptibles in Guava (#242)
  • Revisit the code around onCompleted() in bidirectional streaming of gRPC (#241)
  • Reorganize the protocol buffer messages for DistributedTransaction (#236)
  • Use bidirectional streaming RPCs for scan operations in DistributedStorageService (#235)
  • Add unit tests for ServerConfig (#232)
  • Rename some classes in the Server project (#231)
  • Make DistributedStorageAdmin throw ExecutionException (#230)
  • Use bidirectional streaming RPCs in DistributedTransactionService (#228)
  • Delete unnecessary files (#224)
  • Introduce Spotless plugin for code format (#223)
  • Reorganize the CI config (#222)
  • Convert the project to multi-project (#221)
  • Some refactoring for the gRPC services (#220)
  • Upgrade Cosmos DB client (#218)
  • Upgrade the gradle build to 7 (#217)
  • Refactor the integration tests for transaction (#215)
  • Rename JdbcAdminIntegrationTest to JdbcDatabaseAdminIntegrationTest (#214)
  • Some refactoring for JdbcTransaction (#213)
  • Remove InvalidUsageException for transaction (#212)
  • Add another constructor to PutIf and DeleteIf (#211)
  • Support the endpoint override feature for Dynamo (#209)
  • Support namespace mappings in MultiStorage (#207)
  • Add some more useful methods to Key.Builder (#206)
  • Remove MultiPartitionException (#205)
  • Refactor the code around Scanner (#203)
  • Allow username and password to be null in DatabaseConfig (#201)
  • Refactor the code around metadata (#199)
  • Add utility methods for Value/Put and a builder class for Key (#198)
  • Refactor exceptions in Scalar DB for easier retry handling (#197)
  • upgrade guice version to 5.0.1 for java 11 compatibility (#194)
  • Add a validation that checks not to use BOOLEAN type for a clustering key or a secondary index in Schema Tool for DynamoDB (#192)
  • Use "FETCH FIRST n ROWS ONLY" instead of ROWNUM for LIMIT for Oracle (#191)
  • Add integration test for Oracle to CI (#190)
  • Refactor Scalar Schema tool for more consistency (#188)
  • Unify the behavior with -D (deleting all tables) in Schema Tool (#184)
  • Add support for endpoint_override in Schema Tool for DynamoDB (#183)
  • Change the text data type from varchar to varchar2 in the JDBC adapter for Oracle (#182)
  • Unify the behavior between the adapters when a specified table in a operation is not found (#178)
  • Fix scan related tests in Scalar DB (#177)
  • Extend the ConsensusCommit integration tests to cover multi-table transactions (#176)
  • Unify the integration tests of Scalar DB on X (#172)
  • Specify a driver class corresponding to the JDBC URL to the dataSource (#170)
  • Unify the operation check logic of the adapters (#169)
  • Change metadata of partition key and clustering key from Set to LinkedHashSet to keep the order (#168)
  • Add the integration tests for the Cosmos DB adapter and the DynamoDB adapter to CI (#167)

Bug fixes

  • Fix the getting started project (#233)
  • Rename ConsensusCommitWithGrpcStorageIntegrationTest (#225)
  • Add duplicatesStrategy to installDist (#219)
  • Should close PreparedStatement and ResultSet in scan operations of JdbcTransaction (#208)
  • Use com.google.inject.Inject instead of javax.inject.Inject (#200)
  • make attributes for secondary indexes (#189)
  • Fix the bug where the error occurs when executing a Put operation without values in the JDBC adapter (#180)
  • Fix the broken TLA+ link (#175)
  • Wrong index name when a namespace prefix is not specified in the schema tool for DynamoDB (#173)
  • Update pip URL (#171)

Documentation

  • Add multi-storage documentation (#255)
  • Add a backup guide for the Scalar DB server (#254)
  • Add documentation of Scalar DB Server (#253)
  • Revise README.md of root folder (#237)
  • Adding beginner friendly precisions (#234)
  • Update compile commade new gradle version (#229)
  • Update descriptions and data type mapping (#181)