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)