Skip to content

Java runtime: remove global mutable state + dedupe concore/concoredocker code #542

@avinxshKD

Description

@avinxshKD

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions