Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Spanner libraries version 5.0.0-beta01 #11717

Merged
merged 1 commit into from
Feb 9, 2024

Conversation

amanda-tarafa
Copy link
Contributor

Changes in Google.Cloud.Spanner.Data version 5.0.0-beta01:

Bug fixes

  • Have SpannerTransaction check if it has been disposed before executing commands. (commit c97a70a)

New features

Documentation improvements

BREAKING CHANGE: In supporting inline transactions the main breaking change is behavioral: transactions are not prewarmed, instead they are acquired as needed, mainly through inlining transaction creation in the first command that attempts to use a transaction. The method Google.Cloud.Spanner.V1.PooledSession.WithFreshTransactionOrNewAsync has been removed, as a transaction is not created by the session until command execution. Use instead Google.Cloud.Spanner.V1.PooledSession.RefreshedOrNewAsync which returns a new PooledSession instance that either represents the same session but with no transaction associated to it or a newly acquired session. Since transactions are not prewarmed, the session pool does not need to distinguish between read-only and read-write session/transaction pairs. In the statistics classes that may be used for diagnostic purposes all properties distinguising between read-only and read-write statistics have been removed. Similarly, Google.Cloud.Spanner.V1.SessionPoolOptions.WriteSessionsFraction has bee removed.

Packages in this release:

  • Release Google.Cloud.Spanner.Admin.Database.V1 version 5.0.0-beta01
  • Release Google.Cloud.Spanner.Admin.Instance.V1 version 5.0.0-beta01
  • Release Google.Cloud.Spanner.Common.V1 version 5.0.0-beta01
  • Release Google.Cloud.Spanner.Data version 5.0.0-beta01
  • Release Google.Cloud.Spanner.V1 version 5.0.0-beta01

Changes in Google.Cloud.Spanner.Data version 5.0.0-beta01:

### Bug fixes

- Have SpannerTransaction check if it has been disposed before executing commands. ([commit c97a70a](c97a70a))

### New features

- Add leader routing support. ([commit eb2157a](eb2157a))
- Add FLOAT32 enum to TypeCode ([commit 18e6491](18e6491))
- Add proto descriptors for proto and enum types in create/update/get database ddl requests ([commit 7085e3f](7085e3f))
- Add max_commit_delay API ([commit 3984609](3984609))
- Add proto and enum types ([commit ea75989](ea75989))
- **BREAKING CHANGE** Support inline transactions. ([#11360](#11360))
- Add directed_read_option in spanner.proto ([commit 3b374e0](3b374e0))
- Add PG.OID type cod annotation ([commit a8662dc](a8662dc))
- Add autoscaling config to the instance proto ([commit 07022a6](07022a6))
- Add BatchWrite API ([commit 7a127d0](7a127d0))

### Documentation improvements

- Update the comment regarding eligible SQL shapes for PartitionQuery ([commit 1eb3d3e](1eb3d3e))
- Updated comment formatting ([commit 3b374e0](3b374e0))

BREAKING CHANGE: In supporting inline transactions the main breaking change is behavioral: transactions are not prewarmed, instead they are acquired
as needed, mainly through inlining transaction creation in the first command that attempts to use a transaction. The method
`Google.Cloud.Spanner.V1.PooledSession.WithFreshTransactionOrNewAsync` has been removed, as a transaction is not created by the session until command execution.
Use instead `Google.Cloud.Spanner.V1.PooledSession.RefreshedOrNewAsync` which returns a new PooledSession instance that either represents the same
session but with no transaction associated to it or a newly acquired session. Since transactions are not prewarmed, the session pool does not need
to distinguish between read-only and read-write session/transaction pairs. In the statistics classes that may be used for diagnostic purposes all
properties distinguising between read-only and read-write statistics have been removed. Similarly, `Google.Cloud.Spanner.V1.SessionPoolOptions.WriteSessionsFraction`
has bee removed.

Packages in this release:
- Release Google.Cloud.Spanner.Admin.Database.V1 version 5.0.0-beta01
- Release Google.Cloud.Spanner.Admin.Instance.V1 version 5.0.0-beta01
- Release Google.Cloud.Spanner.Common.V1 version 5.0.0-beta01
- Release Google.Cloud.Spanner.Data version 5.0.0-beta01
- Release Google.Cloud.Spanner.V1 version 5.0.0-beta01
@amanda-tarafa amanda-tarafa requested a review from a team as a code owner February 9, 2024 07:07
@amanda-tarafa amanda-tarafa added autorelease: pending automerge: exact Summon MOG for automerging, but approvals need to be against the latest commit labels Feb 9, 2024
Copy link

github-actions bot commented Feb 9, 2024

Pull request diff results
Building Google.Cloud.Spanner.Admin.Database.V1
Building Google.Cloud.Spanner.Admin.Instance.V1
Building Google.Cloud.Spanner.Common.V1
Building Google.Cloud.Spanner.Data
Building Google.Cloud.Spanner.V1
Detecting changes for Google.Cloud.Spanner.Admin.Database.V1
Diff level: Identical

Detecting changes for Google.Cloud.Spanner.Admin.Instance.V1
Diff level: Identical

Detecting changes for Google.Cloud.Spanner.Common.V1
Diff level: Identical

Detecting changes for Google.Cloud.Spanner.Data
Diff level: Identical

Detecting changes for Google.Cloud.Spanner.V1
Diff level: Identical

Checking compatibility with previous releases
Checking compatibility for Google.Cloud.Spanner.Admin.Database.V1 version 5.0.0-beta01
Differences from 4.6.0
Minor changes:
Class 'CreateDatabaseRequest'; property 'ByteString ProtoDescriptors { get; set; }' added.
Class 'GetDatabaseDdlResponse'; property 'ByteString ProtoDescriptors { get; set; }' added.
Class 'UpdateDatabaseDdlRequest'; property 'ByteString ProtoDescriptors { get; set; }' added.

Diff level: Minor

Checking compatibility for Google.Cloud.Spanner.Admin.Instance.V1 version 5.0.0-beta01
Differences from 4.6.0
Minor changes:
Class 'AutoscalingConfig' added.
Class 'AutoscalingConfig.Types' added.
Class 'AutoscalingConfig.Types.AutoscalingLimits' added.
Enum 'AutoscalingConfig.Types.AutoscalingLimits.MaxLimitOneofCase' added.
Enum 'AutoscalingConfig.Types.AutoscalingLimits.MinLimitOneofCase' added.
Class 'AutoscalingConfig.Types.AutoscalingTargets' added.
Class 'Instance'; property 'AutoscalingConfig AutoscalingConfig { get; set; }' added.

Diff level: Minor

Checking compatibility for Google.Cloud.Spanner.Common.V1 version 5.0.0-beta01
Differences from 4.6.0
Diff level: Identical

Checking compatibility for Google.Cloud.Spanner.Data version 5.0.0-beta01
Differences from 4.6.0
Minor changes:
Class 'SpannerConnectionStringBuilder'; property 'Boolean EnableLeaderRouting { get; set; }' added.

Diff level: Minor

Checking compatibility for Google.Cloud.Spanner.V1 version 5.0.0-beta01
Differences from 4.6.0
Major changes:
Class 'PooledSession'; method 'Task WithFreshTransactionOrNewAsync(TransactionOptions transactionOptions, CancellationToken cancellationToken)' removed.
Class 'SessionPool.DatabaseStatistics'; property 'Int32 ReadPoolCount { get; }' removed.
Class 'SessionPool.DatabaseStatistics'; property 'Int32 ReadWritePoolCount { get; }' removed.
Class 'SessionPool.DatabaseStatistics'; property 'Int64 ReadWriteTransactionRequests { get; }' removed.
Class 'SessionPool.DatabaseStatistics'; property 'Int64 ReadWriteTransactionRequestsPrewarmed { get; }' removed.
Class 'SessionPool.SessionPoolSegmentStatistics'; property 'Int32 ReadPoolCount { get; }' removed.
Class 'SessionPool.SessionPoolSegmentStatistics'; property 'Int32 ReadWritePoolCount { get; }' removed.
Class 'SessionPool.SessionPoolSegmentStatistics'; property 'Int64 ReadWriteTransactionRequests { get; }' removed.
Class 'SessionPool.SessionPoolSegmentStatistics'; property 'Int64 ReadWriteTransactionRequestsPrewarmed { get; }' removed.
Class 'SessionPool.Statistics'; property 'Int32 TotalReadPoolCount { get; }' removed.
Class 'SessionPool.Statistics'; property 'Int32 TotalReadWritePoolCount { get; }' removed.
Class 'SessionPoolOptions'; property 'Double WriteSessionsFraction { get; set; }' removed.

Minor changes:
Class 'BatchWriteRequest' added.
Class 'BatchWriteRequest.Types' added.
Class 'BatchWriteRequest.Types.MutationGroup' added.
Class 'BatchWriteResponse' added.
Class 'CommitRequest'; property 'Duration MaxCommitDelay { get; set; }' added.
Class 'DirectedReadOptions' added.
Enum 'DirectedReadOptions.ReplicasOneofCase' added.
Class 'DirectedReadOptions.Types' added.
Class 'DirectedReadOptions.Types.ExcludeReplicas' added.
Class 'DirectedReadOptions.Types.IncludeReplicas' added.
Class 'DirectedReadOptions.Types.ReplicaSelection' added.
Class 'DirectedReadOptions.Types.ReplicaSelection.Types' added.
Enum 'DirectedReadOptions.Types.ReplicaSelection.Types.Type' added.
Class 'ExecuteSqlRequest'; property 'DirectedReadOptions DirectedReadOptions { get; set; }' added.
Class 'ExecuteSqlRequest'; property 'TransactionSelector Transaction { get; set; }' modifers changed from '' to 'sealed virtual'.
Class 'PartitionQueryRequest'; property 'TransactionSelector Transaction { get; set; }' modifers changed from '' to 'sealed virtual'.
Class 'PartitionReadOrQueryRequest'; property 'TransactionSelector Transaction { set; }' getter access modifer changed from '' to 'public'.
Class 'PartitionReadRequest'; property 'TransactionSelector Transaction { get; set; }' modifers changed from '' to 'sealed virtual'.
Class 'PooledSession'; method 'Task RefreshedOrNewAsync(CancellationToken cancellationToken)' added.
Class 'ReadOrQueryRequest'; property 'TransactionSelector Transaction { set; }' getter access modifer changed from '' to 'public'.
Class 'ReadRequest'; property 'DirectedReadOptions DirectedReadOptions { get; set; }' added.
Class 'ReadRequest'; property 'TransactionSelector Transaction { get; set; }' modifers changed from '' to 'sealed virtual'.
Class 'SessionPool'; method 'Task AcquireSessionAsync(SessionPool.SessionPoolSegmentKey key, TransactionOptions transactionOptions, Boolean singleUseTransaction, CancellationToken cancellationToken)' added.
Class 'SessionPool.DatabaseStatistics'; property 'Int32 PoolCount { get; }' added.
Class 'SessionPool.SessionPoolSegmentStatistics'; property 'Int32 PoolCount { get; }' added.
Class 'SessionPool.Statistics'; property 'Int32 TotalPoolCount { get; }' added.
Class 'Spanner.SpannerBase'; method 'Task BatchWrite(BatchWriteRequest request, IServerStreamWriter responseStream, ServerCallContext context)' added.
Class 'Spanner.SpannerClient'; method 'AsyncServerStreamingCall BatchWrite(BatchWriteRequest request, CallOptions options)' added.
Class 'Spanner.SpannerClient'; method 'AsyncServerStreamingCall BatchWrite(BatchWriteRequest request, Metadata headers = null, Nullable deadline = null, CancellationToken cancellationToken = null)' added.
Class 'SpannerClient'; method 'SpannerClient.BatchWriteStream BatchWrite(BatchWriteRequest request, CallSettings callSettings = null)' added.
Class 'SpannerClient'; method 'SpannerClient.BatchWriteStream BatchWrite(SessionName session, IEnumerable<BatchWriteRequest.Types.MutationGroup> mutationGroups, CallSettings callSettings = null)' added.
Class 'SpannerClient'; method 'SpannerClient.BatchWriteStream BatchWrite(String session, IEnumerable<BatchWriteRequest.Types.MutationGroup> mutationGroups, CallSettings callSettings = null)' added.
Class 'SpannerClient.BatchWriteStream' added.
Class 'SpannerClientBuilder'; property 'Boolean LeaderRoutingEnabled { get; set; }' added.
Class 'SpannerClientImpl'; method 'SpannerClient.BatchWriteStream BatchWrite(BatchWriteRequest request, CallSettings callSettings = null)' added.
Class 'SpannerSettings'; property 'CallSettings BatchWriteSettings { get; set; }' added.
Class 'Type'; property 'String ProtoTypeFqn { get; set; }' added.
Enum 'TypeAnnotationCode' entry 'PgOid' added.
Enum 'TypeCode' entry 'Enum' added.
Enum 'TypeCode' entry 'Proto' added.
Enum 'TypeCode' entry 'Float32' added.

Diff level: Major

@jskeet jskeet merged commit f5efd85 into main Feb 9, 2024
10 of 11 checks passed
@jskeet jskeet deleted the release-pr-20240209T070707Z branch February 9, 2024 07:20
@gcf-merge-on-green gcf-merge-on-green bot removed the automerge: exact Summon MOG for automerging, but approvals need to be against the latest commit label Feb 9, 2024
@yoshi-automation
Copy link
Contributor

  • Created release for Google.Cloud.Spanner.Admin.Database.V1-5.0.0-beta01
  • Created release for Google.Cloud.Spanner.Admin.Instance.V1-5.0.0-beta01
  • Created release for Google.Cloud.Spanner.Common.V1-5.0.0-beta01
  • Created release for Google.Cloud.Spanner.Data-5.0.0-beta01
  • Created release for Google.Cloud.Spanner.V1-5.0.0-beta01

Copy link

The release build has started; the log can be viewed here.

Copy link

Release build succeeded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants