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

Why are Storage classes Serializable? #109

Closed
jboynes opened this issue Jun 10, 2015 · 17 comments
Closed

Why are Storage classes Serializable? #109

jboynes opened this issue Jun 10, 2015 · 17 comments
Assignees
Labels
api: storage Issues related to the Cloud Storage API. type: question Request for information or clarification. Not an issue.

Comments

@jboynes
Copy link

jboynes commented Jun 10, 2015

For example SignedUrIOption

This does not seem like something that would need to marshalled for transmission between processes.

@aozarov
Copy link
Contributor

aozarov commented Jun 10, 2015

There are different types of Storage classes. Not all are Serializable.

Functional classes are not Serialzable.

I think it is easier to justify making model objects as serializable to support a convenient way
to store them in other places if need be (e.g. memcache, datastore,...)

Having a serialize service options is also convenient to support easy suspend and resume later.
For a similar reason the blob's reader/writer are serialize (this case required some effort).
This is very important in restricted platforms that may limit the user in completing its task
in one request or process but could be used for various reasons (including easier error handling).

Last is the request/response level options and messages. I think this case has the weakest argument for having them Serialize but as all non functional are already immutable and Serializable I thought it would
make sense to maintain the same pattern and be consistent.
In addition I could think of various ways that this may be useful for higher level libraries (e.g. as a mean to replicate settings (optionally from various sources)) but if that was the only reason I would have
waited until requested.

@jboynes
Copy link
Author

jboynes commented Jun 11, 2015

I asked because of the downsides of Serializable especially when it comes to objects that might be stored for a while.

Model Objects: I can see the use-case for storing identifiers but for not storing the entire metadata set, especially when it contains volatile fields like the ACL or update time. Relates back to #62 about separating identity and metadata.

Reader/Writer: Channel implementations are not typically Serializable - they are wrappers for I/O conduits like a file descriptor - so adding that functionality here is a bit odd. The suspend case sounds like its primarily to work around issues on some platforms (AppEngine I assume) which shouldn't be in a general purpose API but moved to an platform specific component.

Request options: These are really part of the functional interface so should be consistent with that (i.e. they do not need to be Serializable).

Service Configuration: The serialized form is not editable/readable so is not very useful. The user will already have defined this in a more readable form (json, XML, config code) so this would be redundant.

@aozarov
Copy link
Contributor

aozarov commented Jun 11, 2015

Yes, I am aware.

Focus was more on convince rather than efficient (which I don't think is an issue in this case).

I think allowing an easy way to cache (or use alternate typically faster/cheaper storage) of model objects (even if part of their data is volatile) is useful but we should probably get more feedback on that.

Yes, completely agree, Channel implementation are not typically Serialize however GCS gets significant usage traffic from AE and its users are mostly using appengine-gcs-client familiar with the concept (and need the resume-able feature).

Supporting AE out-of-the-box (without any extensions) is something that I think this library should do but inn this case, instead of making the class serialize (and support transparent serialization) we could be more explicit saving-to and restoring-from a state.

I have no problems removable the Serialize from Request options. Indeed they are part of the functional interface but they do represent an immutable information (similar to data-model).

A serialize config allow easy restore/duplicate service. We could make the serializable form human readable if we see a demand for it.

More opinions about this issue would be useful. @eamonnmcmanus ?

@eamonnmcmanus
Copy link

Java Serialization is a giant pain, especially if you have to consider compatibility between the version serializing and the version deserializing. Let me tell you some JMX war stories some day when you feel like suffering. So I would be in favour of keeping its use to a minimum. I think it would better to have classes initially not be Serializable and add serializability on demand, rather than putting it there by default in case it proves useful.

Furthermore, I don't think interfaces should ever extend Serializable, so I would remove it from the ones that currently do. To my mind, Serializable is a (badly-designed) implementation flag, not a promise to clients of an interface. You could add text suggesting that implementations of the interfaces in question should be serializable, if that is appropriate and useful.

(The interfaces currently extending Serializable look to be the *RpcFactory interfaces from the spi package and the *Channel interfaces from the storage package.)

Explicit save and restore methods, perhaps using a text format, do appear to me to be a better option where appropriate than Java Serialization.

@aozarov
Copy link
Contributor

aozarov commented Jun 11, 2015

OK, I flagging this issue for "Needed for Public Announcement" and hopefully we can also hear from some users.

I guess my mind set is too much influenced from the AE APIs (e.g. much simple to use the cache API when classes are serialize) and I think in that case the "pain" was well handled.
I also feel that Serializable in Java JDK itself (for various data holders, when possible) is wide-spread.

My first actions would be to take the Serialzable off the interfaces and add an explicit save/restore methods to the channels. I would like the content of the channel's state to be opaque, to make future changes easier, and therefore would favor not using plain text in this case.

@aozarov aozarov added this to the Needed for public announcement milestone Jun 11, 2015
@aozarov aozarov added the api: storage Issues related to the Cloud Storage API. label Jun 11, 2015
@aozarov aozarov added the type: question Request for information or clarification. Not an issue. label Oct 10, 2015
@mziccard
Copy link
Contributor

Personally I don't see any major issue in BlobInfo and BucketInfo extending Serializable. At the same time I don't see a huge need for them to be serializable. In #62 we are discussing about adding a class to represent an object identity. What about dropping serializable in BlobInfo and BucketInfo while having a serializable identity class?

I agree to remove Serializable from interfaces and channels while adding save and restore methods. Just to be sure: how do you expect those methods signature to be?

@aozarov
Copy link
Contributor

aozarov commented Oct 12, 2015

What about dropping serializable in BlobInfo and BucketInfo while having a serializable identity class?

Then I would ask, why? In AE it was very useful to have data-models as Serializable as it allowed, for example, easy caching. BlobId would be simple enough to serialize manually and why would be
care just about it. All the ones mentioned are also immutable, simple data-models and I would not expect
any serialization problems with them, but if I am in a minority than we can remove them for now.

I totally agree that we should remove Serializable from Channels and instead provide an explicit save/restore methods (in the case of the writer adding a javadoc warning that only one thread should
be writing at a time).

@mziccard
Copy link
Contributor

On save/restore methods: BlobReadChannelImpl and BlobWriteChannelImpl have package scope so the user is not meant to have direct access to them. Give than, how are users supposed to restore objects of classes BlobReadChannelImpl and BlobWriteChannelImpl if they cannot access/instantiate them?

@aozarov
Copy link
Contributor

aozarov commented Oct 14, 2015

Are you saying this could not be defined in the interfaces BlobReadChannel and BlobWriteChannel?

I think the interfaces can have a "save"/captureState methods that returns another interface (implementation should guaranty to be serializable) that only has one method "restore" which returns an instance from the same type.

Somewhat little like a memento.

Another option is for them to return a more opaque object and having the "restore" by overloading the writer, reader methods to gets the captured-sate.

I have a slight preference to the first option.

@mziccard
Copy link
Contributor

Either I am tired or dumb. Let's say I am tired:)
I was thinking of a more classical memento where it's duty of the Originator to restore the state. That's brilliant, I'll do that.

@aozarov
Copy link
Contributor

aozarov commented Oct 23, 2015

@mziccard Anything else that is needed to be done for this issue?

@mziccard
Copy link
Contributor

The only point that may be still open is whether ServiceRpcFactory should extend Serializable or not.

@aozarov
Copy link
Contributor

aozarov commented Oct 23, 2015

Do you see a way to implement suspend and resume in a separate process without it?

@mziccard
Copy link
Contributor

@aozarov We could once again add save and restore methods to the interface, right?

@aozarov
Copy link
Contributor

aozarov commented Oct 23, 2015

Oh, sure. but the main point is that we are still going to require from the implementation of the factory
to be able to "serialize/deserialize" itself. I think that is a reasonable expectation from a factory (as oppose to the object it creates).

I totally agree that serialize channels is unexpected and therefore was all for changing them to provide
explicit save/restore.

I don't think it is that terrible for factories however I don't mind to change it to be more explicit as well.
Another option would be to require the factory implementation to be public and have an empty constructor (so we can just save the class name and recreate it as needed).

I am actually experimenting with a fix for #54 where we would still have a notion of a service factory but would that setting would be done on the options and therefore allow the options to create a service. And, as we already provide a way to load the factory using a ServiceLoader which requires
a publicly accessible empty constructor maybe we should pick that (and I can bundle it with my change)?

What do you think?

@mziccard
Copy link
Contributor

@aozarov I agree that adding save/restore methods still forces implementations to be able to serialize. However, if it is the drawbacks of Serializable we are worried about, using such methods allows to avoid them. And implementations can still make save/restore throw UnsupportedOperationException.

That said, I think that requiring factory implementations to be public and have an empty constructor makes perfectly sense (more than having save/restore methods) and if you could incorporate that in your changes for #54 that would a perfect way of closing this issue as well. I like this solution and I'll be happy to review the changes.

@mziccard
Copy link
Contributor

Closed with #261 and #296.
If you feel that something is still missing to address this issue feel free to reopen.

github-actions bot pushed a commit to suztomo/google-cloud-java that referenced this issue Jun 29, 2022
…oogleapis#109)

- [ ] Regenerate this pull request now.

PiperOrigin-RevId: 457524730

Source-Link: googleapis/googleapis@917e7f2

Source-Link: https://github.com/googleapis/googleapis-gen/commit/2497f9a069d3f6b2d6810d5a4e239cda1e7e5a39
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMjQ5N2Y5YTA2OWQzZjZiMmQ2ODEwZDVhNGUyMzljZGExZTdlNWEzOSJ9
github-actions bot pushed a commit to suztomo/google-cloud-java that referenced this issue Jul 1, 2022
🤖 I have created a release *beep* *boop*
---


## [1.2.0](googleapis/java-ids@v1.1.1...v1.2.0) (2022-07-01)


### Features

* Enable REST transport for most of Java and Go clients ([googleapis#106](googleapis/java-ids#106)) ([5bd7ad6](googleapis/java-ids@5bd7ad6))


### Bug Fixes

* update gapic-generator-java with mock service generation fixes ([googleapis#112](googleapis/java-ids#112)) ([7b38e44](googleapis/java-ids@7b38e44))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
github-actions bot pushed a commit to suztomo/google-cloud-java that referenced this issue Jul 1, 2022
🤖 I have created a release *beep* *boop*
---


## [1.2.0](googleapis/java-vmmigration@v1.1.1...v1.2.0) (2022-07-01)


### Features

* Enable REST transport for most of Java and Go clients ([googleapis#103](googleapis/java-vmmigration#103)) ([85ada05](googleapis/java-vmmigration@85ada05))


### Bug Fixes

* update gapic-generator-java with mock service generation fixes ([googleapis#109](googleapis/java-vmmigration#109)) ([6dd3a8c](googleapis/java-vmmigration@6dd3a8c))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
github-actions bot pushed a commit that referenced this issue Aug 16, 2022
…-plugin to v3.4.1 (#109)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [org.apache.maven.plugins:maven-javadoc-plugin](https://maven.apache.org/plugins/) ([source](https://togithub.com/apache/maven-javadoc-plugin)) | `3.4.0` -> `3.4.1` | [![age](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/compatibility-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/confidence-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. ⚠ **Warning**: custom changes will be lost.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-eventarc-publishing).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNjEuMCIsInVwZGF0ZWRJblZlciI6IjMyLjE2MS4wIn0=-->
github-actions bot pushed a commit that referenced this issue Sep 15, 2022
🤖 I have created a release *beep* *boop*
---


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

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
github-actions bot pushed a commit that referenced this issue Oct 4, 2022
🤖 I have created a release *beep* *boop*
---


## [0.5.5](https://togithub.com/googleapis/java-video-live-stream/compare/v0.5.4...v0.5.5) (2022-09-30)


### Dependencies

* Update dependency cachetools to v5 ([#101](https://togithub.com/googleapis/java-video-live-stream/issues/101)) ([8b1f7cd](https://togithub.com/googleapis/java-video-live-stream/commit/8b1f7cd252a8d8be47adb7ad2647a9c978fe4433))
* Update dependency charset-normalizer to v2.1.1 ([#109](https://togithub.com/googleapis/java-video-live-stream/issues/109)) ([020b87d](https://togithub.com/googleapis/java-video-live-stream/commit/020b87d80c8ec0f6ccaee36536161d8ba32c9afc))
* Update dependency click to v8.1.3 ([#110](https://togithub.com/googleapis/java-video-live-stream/issues/110)) ([b01a8bc](https://togithub.com/googleapis/java-video-live-stream/commit/b01a8bc5c34de5997174241cce8bef616c752292))
* Update dependency google-api-core to v2.10.1 ([#111](https://togithub.com/googleapis/java-video-live-stream/issues/111)) ([fc39507](https://togithub.com/googleapis/java-video-live-stream/commit/fc39507d7ab374a607e7ad7bfc1feb67f1ade1bf))
* Update dependency google-auth to v2.12.0 ([#123](https://togithub.com/googleapis/java-video-live-stream/issues/123)) ([9332a20](https://togithub.com/googleapis/java-video-live-stream/commit/9332a2057e6eb9d24cb25136c9a0fa1fc1cb135d))
* Update dependency google-cloud-storage to v2.5.0 ([#112](https://togithub.com/googleapis/java-video-live-stream/issues/112)) ([b94e163](https://togithub.com/googleapis/java-video-live-stream/commit/b94e1630336fc419df81890907932ff2c4dce5a7))
* Update dependency google-crc32c to v1.5.0 ([#113](https://togithub.com/googleapis/java-video-live-stream/issues/113)) ([29f67f1](https://togithub.com/googleapis/java-video-live-stream/commit/29f67f1b834af05b0f1f9b7655d6b3e418393ebb))
* Update dependency google-resumable-media to v2.4.0 ([#119](https://togithub.com/googleapis/java-video-live-stream/issues/119)) ([15b08df](https://togithub.com/googleapis/java-video-live-stream/commit/15b08df1a40d2897964a897d61b39d6045ad2372))
* Update dependency googleapis-common-protos to v1.56.4 ([#108](https://togithub.com/googleapis/java-video-live-stream/issues/108)) ([815a46e](https://togithub.com/googleapis/java-video-live-stream/commit/815a46e7d6dd5866acee7c6cbb1dbef5cbda88d2))
* Update dependency importlib-metadata to v4.12.0 ([#96](https://togithub.com/googleapis/java-video-live-stream/issues/96)) ([de35cf1](https://togithub.com/googleapis/java-video-live-stream/commit/de35cf18e690b4e9fe56d2cddd5ce5ac4481abd8))
* Update dependency jeepney to v0.8.0 ([#114](https://togithub.com/googleapis/java-video-live-stream/issues/114)) ([8ce181d](https://togithub.com/googleapis/java-video-live-stream/commit/8ce181d95deaf0e5b37f24238370da29d6f726dd))
* Update dependency jinja2 to v3.1.2 ([#97](https://togithub.com/googleapis/java-video-live-stream/issues/97)) ([e36f74d](https://togithub.com/googleapis/java-video-live-stream/commit/e36f74debe88dcf2c406104af48037243098a180))
* Update dependency keyring to v23.9.3 ([#115](https://togithub.com/googleapis/java-video-live-stream/issues/115)) ([8a023a0](https://togithub.com/googleapis/java-video-live-stream/commit/8a023a0a009da78c07136f7b9b2904b3d6e04f6c))
* Update dependency markupsafe to v2.1.1 ([#98](https://togithub.com/googleapis/java-video-live-stream/issues/98)) ([316fb08](https://togithub.com/googleapis/java-video-live-stream/commit/316fb08bc6495e0b2a9ec5475a7b350137d6675c))
* Update dependency protobuf to v3.20.2 ([#116](https://togithub.com/googleapis/java-video-live-stream/issues/116)) ([933beb3](https://togithub.com/googleapis/java-video-live-stream/commit/933beb3a24cfb277f9c57d2486b49b1ecdc01029))
* Update dependency protobuf to v3.20.3 ([#120](https://togithub.com/googleapis/java-video-live-stream/issues/120)) ([99467b2](https://togithub.com/googleapis/java-video-live-stream/commit/99467b23dcc7641300b3c19b57ab1271255c303b))
* Update dependency protobuf to v4 ([#102](https://togithub.com/googleapis/java-video-live-stream/issues/102)) ([c3a58c0](https://togithub.com/googleapis/java-video-live-stream/commit/c3a58c0676766f0e995c71e0732e42f4eb45978c))
* Update dependency pyjwt to v2.5.0 ([#117](https://togithub.com/googleapis/java-video-live-stream/issues/117)) ([a6dc961](https://togithub.com/googleapis/java-video-live-stream/commit/a6dc9613215968bc7b45b16dd8cd906c1282a8cf))
* Update dependency requests to v2.28.1 ([#118](https://togithub.com/googleapis/java-video-live-stream/issues/118)) ([f0a4e18](https://togithub.com/googleapis/java-video-live-stream/commit/f0a4e188d15381aef2f1af1851686aef38dff0be))
* Update dependency typing-extensions to v4.3.0 ([#99](https://togithub.com/googleapis/java-video-live-stream/issues/99)) ([df3cb4d](https://togithub.com/googleapis/java-video-live-stream/commit/df3cb4d95031010920511a5d4feafa899a7c4499))
* Update dependency zipp to v3.8.1 ([#100](https://togithub.com/googleapis/java-video-live-stream/issues/100)) ([19815e7](https://togithub.com/googleapis/java-video-live-stream/commit/19815e709d5a0793d6e14e3f3b415ba54ddf412a))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
github-actions bot pushed a commit that referenced this issue Oct 4, 2022
🤖 I have created a release *beep* *boop*
---


## [1.1.3](https://togithub.com/googleapis/java-dataplex/compare/v1.1.2...v1.1.3) (2022-10-03)


### Dependencies

* Update dependency certifi to v2022.9.24 ([#105](https://togithub.com/googleapis/java-dataplex/issues/105)) ([9ec5871](https://togithub.com/googleapis/java-dataplex/commit/9ec587107037a27ebf3f641ee6fc591d8cd6a8cd))
* Update dependency charset-normalizer to v2.1.1 ([#110](https://togithub.com/googleapis/java-dataplex/issues/110)) ([aebc143](https://togithub.com/googleapis/java-dataplex/commit/aebc1435ba5b0ec9e1b38afeca7f4b3abef3682d))
* Update dependency click to v8.1.3 ([#111](https://togithub.com/googleapis/java-dataplex/issues/111)) ([a649c72](https://togithub.com/googleapis/java-dataplex/commit/a649c72a80c3043ec4b58791b8172ffc5e65f670))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#129](https://togithub.com/googleapis/java-dataplex/issues/129)) ([01e197b](https://togithub.com/googleapis/java-dataplex/commit/01e197b7ebb984eabd4cc77abde29fa70089c28c))
* Update dependency gcp-releasetool to v1.8.8 ([#106](https://togithub.com/googleapis/java-dataplex/issues/106)) ([6c7529d](https://togithub.com/googleapis/java-dataplex/commit/6c7529d2ed8c5e1e57e5686b28f8cf52ecf443b2))
* Update dependency google-api-core to v2.10.1 ([#112](https://togithub.com/googleapis/java-dataplex/issues/112)) ([83adb9a](https://togithub.com/googleapis/java-dataplex/commit/83adb9a379bd46f95277370713aa08eb3b6551d9))
* Update dependency google-auth to v2.11.1 ([#107](https://togithub.com/googleapis/java-dataplex/issues/107)) ([7857c3b](https://togithub.com/googleapis/java-dataplex/commit/7857c3be9080b0f6498f2f61b5d5eafb79fae06d))
* Update dependency google-cloud-core to v2.3.2 ([#108](https://togithub.com/googleapis/java-dataplex/issues/108)) ([2ba0594](https://togithub.com/googleapis/java-dataplex/commit/2ba059481a696983ac4b08bb9b8b31335c8f6ba9))
* Update dependency google-cloud-storage to v2.5.0 ([#113](https://togithub.com/googleapis/java-dataplex/issues/113)) ([ea11bee](https://togithub.com/googleapis/java-dataplex/commit/ea11bee7e65cd393c08b9addcb25965440fb0434))
* Update dependency google-crc32c to v1.5.0 ([#114](https://togithub.com/googleapis/java-dataplex/issues/114)) ([dd9dacb](https://togithub.com/googleapis/java-dataplex/commit/dd9dacb0ea4e70db8e0f5162fe900b9656a457df))
* Update dependency googleapis-common-protos to v1.56.4 ([#109](https://togithub.com/googleapis/java-dataplex/issues/109)) ([fed3704](https://togithub.com/googleapis/java-dataplex/commit/fed3704df12e7ec68d5e16b894f442c61a29cba6))
* Update dependency importlib-metadata to v4.12.0 ([#124](https://togithub.com/googleapis/java-dataplex/issues/124)) ([fde2280](https://togithub.com/googleapis/java-dataplex/commit/fde2280152f4376d04424536d79a9dc87ffbe176))
* Update dependency jeepney to v0.8.0 ([#125](https://togithub.com/googleapis/java-dataplex/issues/125)) ([b38a113](https://togithub.com/googleapis/java-dataplex/commit/b38a113ea529577778042bd40e1236a6e6fbbeae))
* Update dependency jinja2 to v3.1.2 ([#126](https://togithub.com/googleapis/java-dataplex/issues/126)) ([a9a5b03](https://togithub.com/googleapis/java-dataplex/commit/a9a5b036002c04c4d76f43332ecaa2b3c5d6aaec))
* Update dependency keyring to v23.9.3 ([#127](https://togithub.com/googleapis/java-dataplex/issues/127)) ([0772b45](https://togithub.com/googleapis/java-dataplex/commit/0772b4549c4e285dcea9f7551f9eeb684e2073a4))
* Update dependency markupsafe to v2.1.1 ([#115](https://togithub.com/googleapis/java-dataplex/issues/115)) ([71ecee0](https://togithub.com/googleapis/java-dataplex/commit/71ecee06bd02ad777d5f24b8f5f8f8bce7b40242))
* Update dependency protobuf to v3.20.2 ([#116](https://togithub.com/googleapis/java-dataplex/issues/116)) ([d7049a4](https://togithub.com/googleapis/java-dataplex/commit/d7049a49e141ab098f3e0b1a80b807d74a15fc96))
* Update dependency requests to v2.28.1 ([#118](https://togithub.com/googleapis/java-dataplex/issues/118)) ([3fd6dc4](https://togithub.com/googleapis/java-dataplex/commit/3fd6dc4ee3f2368149425ef43158fbd4d6796ed7))
* Update dependency zipp to v3.8.1 ([#120](https://togithub.com/googleapis/java-dataplex/issues/120)) ([2215798](https://togithub.com/googleapis/java-dataplex/commit/221579818ffe58bbcf037a61413e64164ac5fc37))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
github-actions bot pushed a commit to yoshi-code-bot/google-cloud-java that referenced this issue Oct 6, 2022
github-actions bot pushed a commit to yoshi-code-bot/google-cloud-java that referenced this issue Nov 8, 2022
…s#1687) (googleapis#109)

* chore(java): add a note in README for migrated split repos

Disable renovate bot and flaky bot for split repositories
that have moved to the Java monorepo.
The Java monorepo will pass the "monorepo=True" parameter
to java.common_templates method in its owlbot.py files so that
the migration note will not appear in the README in the monorepo.

Co-authored-by: Jeff Ching <chingor@google.com>
Source-Link: https://togithub.com/googleapis/synthtool/commit/d4b291604f148cde065838c498bc8aa79b8dc10e
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-java:latest@sha256:edae91ccdd2dded2f572ec341a768ad180305a3e8fbfd93064b28e237d35920a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: storage Issues related to the Cloud Storage API. type: question Request for information or clarification. Not an issue.
Projects
None yet
Development

No branches or pull requests

4 participants