googleapis / googleapis/google-cloud-java

Exceptions created by FlowController don't provide getMessage method implementations

Open
#12,950 0 comments 0 reactions 0 assignees View on GitHub
priority: p3 type: bug
Dominant language
Java
Stars
2.1k
Forks
1.2k
Avg merge
1d 23h
Merged PRs (30d)
154

Description

Standard Java convention for exception messages is:

- getMessage() → returns the raw detail message
- toString() → returns ClassName: getMessage()

FlowController creates exceptions without implementing getMessage() or calling super(msg) in its constructors. Consequently, getMessage() returns null.

When logging framework uses getMessage() to render the output you will get very limited text representation.
For example:

```
com.google.api.gax.batching.FlowController$MaxOutstandingRequestBytesReachedException: null
at com.google.cloud.pubsub.v1.Publisher$MessageFlowController.acquire(Publisher.java:1019)
at com.google.cloud.pubsub.v1.Publisher.publish(Publisher.java:297)
```

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.