googleapis / googleapis/google-cloud-java

Java-Core to Gax Mapping Tracking Ticket

Open
#13,297 0 comments 0 reactions 0 assignees View on GitHub
priority: p2 type: feature request
Dominant language
Java
Stars
2.1k
Forks
1.2k
Avg merge
1d 23h
Merged PRs (30d)
154

Description

# Problem

The Java SDK has a split in some runtime functionality between Java-Core and Gax for some client libraries. Historically Java-Core was maintained by older handwritten teams and contains mostly the same functionality that exists inside Gax. Gax is modern and actively maintained by the Cloud Java team and to ensure that features have complete coverage in the Java SDK, the features must be added to both Java-Core and Gax. We cannot get rid of Java-Core without potential breaking changes and migrating all use cases to Gax may not also be possible.

# Solution(s)?

1. Java-Core's functionality serves as a wrapper around Gax that is used for older, existing handwritten libraries. Java-Core should delegate the actual logic to Gax so that there is a single source of truth. Changes required from new features should only be made to Gax and can be applied to all the client libraries in the SDK.

## Areas to consider creating a mapping
1. Settings/ Options (ServiceOptions -> ClientSettings)
2. URL Resolution (Resolve Host -> EndpointContext)
3. Executor logic (Deprecation of DirectExector and replace with ScheduledExectuor)?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.