Calvin MongoDB created KAFKA-18175:
--------------------------------------
Summary: Breaking change for SystemTime usages
Key: KAFKA-18175
URL: https://issues.apache.org/jira/browse/KAFKA-18175
Project: Kafka
Issue Type: Bug
Affects Versions: 3.9.0
Reporter: Calvin MongoDB
Kafka version 3.9 introduced a breaking change by disallowing SystemTime
instantiations.
https://issues.apache.org/jira/browse/KAFKA-16879
To quote the original ticket KAFKA-16879
> Howerver, system time is unique,In an application, the time obtained in
> different places should be consistent, But now the time obtained by using
> the Java System class to interact with the underlying layer is the same。
I'm not sure we should have introduced a breaking change for these reasons.
Also, why do we believe that the time would be different across instantiations
of `new SystemTime()` if under the hood they're only calling System methods
`return System.currentTimeMillis();`?
Additionally, I suspect that forcing the singleton pattern with SystemTime
might also negatively impact usage patterns around `waitObject`, what if
someone wants to have multiple waitObject calls running in parallel? Which they
would only be able to do with separate instantiations of SystemTime.
>From MongoDB's perspective it is a fairly simple change for us to just go
>ahead and reference the singleton, but I just wanted to callout that I suspect
>this may cause more issues for others.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)