I’ve been through this runtime enough times now. Java support is way better than it was, but we’re at the point where patching around it is costing more than fixing it properly.
concore.java and concoredocker.java both carry mutable static runtime state (simtime, s, port maps, params), and both read()/write() paths mutate it directly. On top of that, we keep near-identical copies in both root and nested paths. That means bugfixes are repetitive and drift-prone.
necessary :
- pull parser/serialization/read-write/retry/result handling into one shared Java runtime core
- move runtime state to an instance model instead of static mutable state
- keep wrapper classes for local vs docker defaults, but make them thin
- preserve existing public behavior unless there’s a clear bug
- extend tests so both wrappers are covered with the same expectations
No wire-format/API break
@pradeeban @Rahuljagwani @mayureshkothare It removes recurring failure points and makes future Java work cheaper and safer.
I’ve been through this runtime enough times now. Java support is way better than it was, but we’re at the point where patching around it is costing more than fixing it properly.
concore.java and concoredocker.java both carry mutable static runtime state (simtime, s, port maps, params), and both read()/write() paths mutate it directly. On top of that, we keep near-identical copies in both root and nested paths. That means bugfixes are repetitive and drift-prone.
necessary :
No wire-format/API break
@pradeeban @Rahuljagwani @mayureshkothare It removes recurring failure points and makes future Java work cheaper and safer.