Skip to content

Storage batch setEventBasedHold=false does not work #2902

@sfc-gh-mwnukowski

Description

@sfc-gh-mwnukowski

Environment details

  1. OS type and version: Centos 7 5.15 aarch64
  2. Java version: 11
  3. version(s):
  • com.google.cloud libraries-bom: 26.53.0
  • com.google.api-client google-api-client: 2.7.2
  • com.google.apis google-api-services-storage: v1-rev20241206-2.0.0
  • com.google.cloud google-cloud-storage 2.48.0

Code example

 public static void batchSetHold(Storage storage, String bucketName, List<String> names) {
    List<BlobInfo> inputBlobs = new ArrayList<>();
    for (String filename : names) {
      inputBlobs.add(
          BlobInfo.newBuilder(BlobId.of(bucketName, filename)).setEventBasedHold(true).build());
    }
    var result1 = storage.update(inputBlobs);
    if (result1.get(0).getEventBasedHold() == true) {
      LOGGER.info("expected");
    }
    inputBlobs = new ArrayList<>();
    for (String filename : names) {
      inputBlobs.add(
          BlobInfo.newBuilder(BlobId.of(bucketName, filename)).setEventBasedHold(false).build());
    }
    var result2 = storage.update(inputBlobs);
    if (result2.get(0).getEventBasedHold() == true) {
      LOGGER.error("Should not happen");
    }
 }

Any additional information below

Seconds call to update does not result in any update to blob active holds. Despite setting setEventBasedHold(false) the result is that the blob still has a hold. No exception thrown. The files still have active event hold after second call.

Seems like regression. This worked just fine with versions:

  • com.google.cloud libraries-bom: 26.49.0
  • com.google.api-client google-api-client: 2.2.0
  • com.google.apis google-api-services-storage: v1-rev20231028-2.0.0<
  • com.google.cloud google-cloud-storage 2.13.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    api: storageIssues related to the googleapis/java-storage API.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions