FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Code Drop: Adding the Collection Package by schmidt-sebastian · Pull Request #2658 · googleapis/google-cloud-java · GitHub

Code Drop: Adding the Collection Package - #2658

Merged
schmidt-sebastian merged 8 commits into
googleapis:masterfrom
FirebasePrivate:mrschmidt-collection
Dec 7, 2017
Merged

Code Drop: Adding the Collection Package#2658
schmidt-sebastian merged 8 commits into
googleapis:masterfrom
FirebasePrivate:mrschmidt-collection

Conversation

Copy link
Copy Markdown
Contributor

This add the immutable tree data structure that we use in the Mobile Clients. It will be used by Firestore Watch.

This is based on the same Collection package that is already open-sourced here: https://github.com/firebase/firebase-admin-java/tree/master/src/main/java/com/google/firebase/database/collection

googlebot added the cla: yes This human has signed the Contributor License Agreement. label Nov 23, 2017

pongad commented Nov 24, 2017

Copy link
Copy Markdown
Contributor

I'm good with this but not sure how I feel about all these collections being public. I like that they are in different package though. @schmidt-sebastian Do we actually expose these types to the user? If not, I think we should at least @InternalApi all of them.

@garrettjonesgoogle Do you have an opinion?

@@ -0,0 +1,289 @@
/*
* Copyright 2017 Google Inc. All Rights Reserved.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

Copy link
Copy Markdown
Contributor Author

I'm good with this but not sure how I feel about all these collections being public. I like that they are in different package though. @schmidt-sebastian Do we actually expose these types to the user? If not, I think we should at least @internalapi all of them.

The package is only public because of how Java's visibility scope works. I marked them all as @InternalApi.

hiranya911 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

We should really consider making a separate/independent artifact out of this. Currently this code is duplicated in Android SDK, Admin SDK and now here. @bjornick and I were planning to make a separate Maven artifact from this as part of an ongoing open sourcing effort. Lets talk about this when we get some free cycles.

Copy link
Copy Markdown
Contributor Author

We should really consider making a separate/independent artifact out of this. Currently this code is duplicated in Android SDK, Admin SDK and now here. @bjornick and I were planning to make a separate Maven artifact from this as part of an ongoing open sourcing effort. Lets talk about this when we get some free cycles.

I don't see the Android RTDB SDK ever taking advantage of this. The Firestore SDK could, but we would likely need to ship with ProGuard.

pongad commented Dec 6, 2017

Copy link
Copy Markdown
Contributor

This is fine with me but I think @garrettjonesgoogle should do a quick pass.

garrettjonesgoogle left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Since this is all @InternalApi I don't have much of a concern with this - I just have a couple minor cleanup items I'd like to see.

package com.google.cloud.firestore.collection;

import com.google.api.core.InternalApi;
import java.util.*;

This comment was marked as spam.

This comment was marked as spam.

* to achieve good memory efficiency while maintaining good performance for small collections. To
* avoid degrading performance with increasing collection size it will automatically convert to a
* RBTreeSortedMap after an insert call above a certain threshold.
*/

This comment was marked as spam.

This comment was marked as spam.

schmidt-sebastian merged commit f6792c3 into googleapis:master Dec 7, 2017
garrettjonesgoogle pushed a commit to garrettjonesgoogle/gcloud-java that referenced this pull request Dec 7, 2017
rahul2393 pushed a commit to akash329d/google-cloud-java that referenced this pull request May 21, 2026
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
rahul2393 pushed a commit to akash329d/google-cloud-java that referenced this pull request May 21, 2026
* feat/idle-channel-eviction

Change-Id: I62fe152c293438bf64b657b5b1fe795e22ce9c85

* create noop channel primer

Change-Id: I8d4212aad0ca7613b6c33d69d925671a090d1609

* no-op channel primer changes

Change-Id: I9ad5eeaacb02ace9ba3cf7c09b6846dcbc298fb8

* update ignored diffs

Change-Id: I04698ba82b95c82301e4e9f436401698675d7ea9

* chore: Update generation configuration at Thu Aug  7 02:49:23 UTC 2025 (googleapis#2649)

* chore: Update generation configuration at Thu Jul 31 02:47:07 UTC 2025

* chore: Update generation configuration at Fri Aug  1 02:54:57 UTC 2025

* chore: Update generation configuration at Sat Aug  2 02:42:43 UTC 2025

* chore: generate libraries at Sat Aug  2 02:43:12 UTC 2025

* chore: Update generation configuration at Tue Aug  5 02:50:25 UTC 2025

* chore: generate libraries at Tue Aug  5 02:50:52 UTC 2025

* chore: Update generation configuration at Wed Aug  6 02:48:20 UTC 2025

* chore: generate libraries at Wed Aug  6 02:48:53 UTC 2025

* chore: Update generation configuration at Thu Aug  7 02:49:23 UTC 2025

* deps: update shared dependencies (googleapis#2654)

* chore(main): release 2.64.0 (googleapis#2652)

* chore(main): release 2.64.0

* chore: generate libraries at Fri Aug  8 14:28:59 UTC 2025

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>

* feat(bigtable): lower the value for max rpc channels as channel resize is slow (1m, 2 channel) (googleapis#2656)

…conservative

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://togithub.com/googleapis/java-bigtable/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Rollback plan is reviewed and LGTMed
- [ ] All new data plane features have a completed end to end testing plan

Fixes #<issue_number_goes_here> ☕️

If you write sample code, please follow the [samples format](
https://togithub.com/GoogleCloudPlatform/java-docs-samples/blob/main/SAMPLE_FORMAT.md).

* chore(main): release 2.64.1-SNAPSHOT (googleapis#2655)

:robot: I have created a release *beep* *boop*
---


### Updating meta-information for bleeding-edge SNAPSHOT release.

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).

* chore(main): release 2.65.0 (googleapis#2657)

* chore(main): release 2.65.0

* chore: generate libraries at Tue Aug 12 16:25:49 UTC 2025

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>

* chore(main): release 2.65.1-SNAPSHOT (googleapis#2658)

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>

* more noop channel primer changes

Change-Id: I3baa8e93bc614efe21f1159a708be36881120e34

* remove outdated comments

Change-Id: I11e8da901a93a49009caf4caf0385fd5e3c8091b

* cleanup

Change-Id: Iaa30338d04ba846469fc6152e0683e53573c40ee

* pr feedback

Change-Id: Ie0fde53cd17b1feeaaffd15382e936a46d84c5c1

* fix: lint

Change-Id: Ib8c6b56569c17997a126065a6fa00e8bb1604494

* fix: pr feedback

Change-Id: Ic5f18450c5f60bcf5473e6890b41b006821ddf9d

* fix: feedback

Change-Id: Ib7f24524b6050ec11ca18e5dc624ca8513f99ec8

* fix: lint

Change-Id: I78712b99a975fb6ec9defcdb6812e955df555e1f

* move history pruning

Change-Id: Ibeae2ce0b790ef2731be541a70fa829e220fa4a8

* fix: nits

Change-Id: Ic812e3523a9f29dc612fbdf58ee8f9dbb8a283f4

* Apply suggestion from @mutianf

Co-authored-by: Mattie Fu <mattiefu@google.com>

* Apply suggestion from @mutianf

Co-authored-by: Mattie Fu <mattiefu@google.com>

---------

Co-authored-by: cloud-java-bot <122572305+cloud-java-bot@users.noreply.github.com>
Co-authored-by: Mattie Fu <mattiefu@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
Co-authored-by: Sushan Bhattarai <sushantsusan@google.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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.

5 participants


Back | FazBrowse Home | New Git URL