Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: googleapis/java-storage
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.55.0
Choose a base ref
...
head repository: googleapis/java-storage
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.56.0
Choose a head ref
  • 16 commits
  • 80 files changed
  • 5 contributors

Commits on Aug 6, 2025

  1. chore(main): release 2.55.1-SNAPSHOT (#3233)

    Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
    release-please[bot] authored Aug 6, 2025
    Configuration menu
    Copy the full SHA
    3087f6d View commit details
    Browse the repository at this point in the history
  2. chore: Update generation configuration at Wed Aug 6 02:42:05 UTC 2025 (

    …#3232)
    
    * chore: Update generation configuration at Wed Aug  6 02:42:05 UTC 2025
    
    * chore: generate libraries at Wed Aug  6 02:42:36 UTC 2025
    cloud-java-bot authored Aug 6, 2025
    Configuration menu
    Copy the full SHA
    7bb4e67 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d7c9353 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2025

  1. chore: Update generation configuration at Mon Aug 11 02:40:32 UTC 2025 (

    #3237)
    
    * chore: Update generation configuration at Thu Aug  7 02:41:43 UTC 2025
    
    * chore: generate libraries at Thu Aug  7 02:42:13 UTC 2025
    
    * chore: Update generation configuration at Fri Aug  8 02:40:54 UTC 2025
    
    * chore: Update generation configuration at Sat Aug  9 02:33:16 UTC 2025
    
    * chore: Update generation configuration at Sun Aug 10 02:43:55 UTC 2025
    
    * chore: Update generation configuration at Mon Aug 11 02:40:32 UTC 2025
    cloud-java-bot authored Aug 11, 2025
    Configuration menu
    Copy the full SHA
    115d27d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    33f024b View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2025

  1. chore: Update generation configuration at Sat Aug 16 02:30:38 UTC 2025 (

    #3243)
    
    * chore: Update generation configuration at Tue Aug 12 02:31:47 UTC 2025
    
    * chore: generate libraries at Tue Aug 12 02:32:20 UTC 2025
    
    * chore: Update generation configuration at Wed Aug 13 02:32:37 UTC 2025
    
    * chore: Update generation configuration at Thu Aug 14 02:35:24 UTC 2025
    
    * chore: Update generation configuration at Fri Aug 15 02:34:26 UTC 2025
    
    * chore: Update generation configuration at Sat Aug 16 02:30:38 UTC 2025
    
    * chore: generate libraries at Sat Aug 16 02:31:07 UTC 2025
    cloud-java-bot authored Aug 19, 2025
    Configuration menu
    Copy the full SHA
    8f63f53 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e91a7dc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c13ce95 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2025

  1. Configuration menu
    Copy the full SHA
    0782e62 View commit details
    Browse the repository at this point in the history
  2. chore: Update generation configuration at Wed Aug 20 02:29:59 UTC 2025 (

    #3253)
    
    * chore: Update generation configuration at Wed Aug 20 02:29:59 UTC 2025
    
    * chore: generate libraries at Wed Aug 20 02:30:32 UTC 2025
    cloud-java-bot authored Aug 20, 2025
    Configuration menu
    Copy the full SHA
    5240d03 View commit details
    Browse the repository at this point in the history
  3. chore: merge train for nonblocking-appendable/** branches (#3231)

    ## Description
    feat: *breaking behavior* rewrite Storage.blobAppendableUpload to be non-blocking and have improved throughput (#3231)
    
    Rewrite internals of BlobAppendableUpload to provide non-blocking write calls, and it take advantage of grpc async message handling.
    
    When `AppendableUploadWriteableByteChannel#write(ByteBuffer)` is called, an attempt will be made to enqueue the bytes in the outbound queue to GCS.
    If there is only enough room to partially consume the bytes provided in the `ByteBuffer` the write call will return early specifying the number of bytes actually consumed.
    
    As acknowledgements come in from gcs, enqueued messages will be evicted freeing space in the outbound queue. Thereby allowing more bytes to be consumed and enqueued.
    
    Given appendable objects are still in private preview I can't quote any metrics here, however preliminary benchmarking of several million objects across a range of sizes show across the board throughput improvments.
    
    Because the channel's write call is now non-blocking, if you want to block your application until the full buffer is consumed some new helper methods have been added in StorageChannelUtils to provide blocking behavior.
    
    A new method `MinFlushSizeFlushPolicy#withMaxPendingBytes(long)` has been added to allow limiting the number of pending outbound bytes. The default values is 16MiB, but can be configured lower if necessary.
    
    ## Release Notes
    
    BEGIN_COMMIT_OVERRIDE
    
    BEGIN_NESTED_COMMIT
    feat: *breaking behavior* rewrite Storage.blobAppendableUpload to be non-blocking and have improved throughput (#3231)
    END_NESTED_COMMIT
    
    BEGIN_NESTED_COMMIT
    feat: add StorageChannelUtils to provide helper methods to perform blocking read/write to/from non-blocking channels (#3231)
    END_NESTED_COMMIT
    
    BEGIN_NESTED_COMMIT
    feat: add MinFlushSizeFlushPolicy#withMaxPendingBytes(long) (#3231)
    END_NESTED_COMMIT
    
    BEGIN_NESTED_COMMIT
    fix: update BlobAppendableUploadConfig and FlushPolicy.MinFlushSizeFlushPolicy to default to 4MiB minFlushSize and 16MiB maxPendingBytes (#3249)
    END_NESTED_COMMIT
    
    BEGIN_NESTED_COMMIT
    fix: make FlushPolicy${Min,Max}FlushSizeFlushPolicy constructors private (#3217)
    END_NESTED_COMMIT
    
    END_COMMIMT_OVERRIDE
    
    ## Sub PRs
    This PR is made of up the following PRs, in sequence
    1. #3217
    2. #3218 
    3. #3219
    4. #3220
    5. #3221
    6. #3222
    7. #3223
    8. #3224 
    9. #3225 
    10. #3226 
    11. #3227 
    12. #3228 
    13. #3229 
    14. #3230 
    15. #3235 
    16. #3236 
    17. #3241
    18. #3242
    19. #3246
    20. #3248
    21. #3249
    22. #3252
    BenWhitehead authored Aug 20, 2025
    Configuration menu
    Copy the full SHA
    7bd73d3 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2025

  1. fix: update otel integration to properly activate span context for la…

    …zy RPCs such as reads & writes (#3255)
    
    * Fixes for WriteChannel
    * Fixes for RadChannel
    * Fixes for BlobWriteSession
    * Fixes for BlobReadSession
      `s$com.google.cloud.storage.Storage/readAs$com.google.cloud.storage.Storage/blobReadSession/readAs$g`
    * Fixes for BlobAppendableUpload
    BenWhitehead authored Aug 21, 2025
    Configuration menu
    Copy the full SHA
    d6587f4 View commit details
    Browse the repository at this point in the history
  2. chore: make OtelStorageDecorator package private again (#3260)

    Accidentally opened after some debugging in #3255
    BenWhitehead authored Aug 21, 2025
    Configuration menu
    Copy the full SHA
    bc3470a View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2025

  1. feat: add AppendableUploadWriteableByteChannel#flush() (#3261)

    Allows blocking the invoking thread until the number of bytes acknowledged by GCS matches the number of written bytes prior to calling flush().
    BenWhitehead authored Aug 25, 2025
    Configuration menu
    Copy the full SHA
    950c56f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    87afe1a View commit details
    Browse the repository at this point in the history
  3. chore(main): release 2.56.0 (#3240)

    * chore(main): release 2.56.0
    
    * chore: generate libraries at Mon Aug 25 19:27:55 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>
    release-please[bot] and cloud-java-bot authored Aug 25, 2025
    Configuration menu
    Copy the full SHA
    b52eac5 View commit details
    Browse the repository at this point in the history
Loading