)]}'
{
  "commit": "91a65a065f79e51910a0ba5f0e1f639577835803",
  "tree": "d0a640a0f24876f92486b45204b1bdefac22f075",
  "parents": [
    "306f0e02d878b93b3a648235b947e7b4bb9ab9f9"
  ],
  "author": {
    "name": "虎鸣",
    "email": "hepin.p@alibaba-inc.com",
    "time": "Mon Jul 06 23:13:40 2026 +0800"
  },
  "committer": {
    "name": "虎鸣",
    "email": "hepin.p@alibaba-inc.com",
    "time": "Mon Jul 06 23:13:40 2026 +0800"
  },
  "message": "refactor: cache protobuf parser method lookup\n\nMotivation:\nAddress PR review feedback that repeatedly calling MethodHandles.publicLookup() has unnecessary overhead while keeping the MethodHandle-based parser resolution behavior.\n\nModification:\nStore a shared public Lookup for Java protobuf parser discovery and cache parser MethodHandles with a ConcurrentHashMap putIfAbsent pattern to avoid non-atomic TrieMap getOrElseUpdate lookup races.\n\nResult:\nProtoAnySerialization reuses the public lookup and aligns parser handle caching with the existing ConsumerFilterStore MethodHandle cache style.\n\nTests:\n- scalafmt --mode diff-ref\u003dorigin/main\n- scalafmt --list --mode diff-ref\u003dorigin/main\n- sbt \"grpc-test / Test / testOnly org.apache.pekko.projection.grpc.internal.ProtoAnySerializationSpec\"\n- sbt \"jdbc / Test / testOnly org.apache.pekko.projection.jdbc.JdbcProjectionTest org.apache.pekko.projection.jdbc.JdbcOffsetStoreSpec\"\n- sbt \"jdbc / Test / testOnly org.apache.pekko.projection.jdbc.H2JdbcOffsetStoreSpec\"\n- sbt \"jdbc-int-test / Test / testOnly org.apache.pekko.projection.jdbc.JdbcProjectionSpec\"\n- sbt \"examples / Test / compile\"\n- git diff --check\n- qodercli stdout review: No must-fix findings (/tmp/project-qoder-review-2.log)\n\nReferences:\nRefs apache/pekko-projection#561\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39078e6efc4ed6fb281a26d2603fede4b526d37c",
      "old_mode": 33188,
      "old_path": "grpc/src/main/scala/org/apache/pekko/projection/grpc/internal/ProtoAnySerialization.scala",
      "new_id": "09a8afa4b0094bacc3124f2daeecb796a999f052",
      "new_mode": 33188,
      "new_path": "grpc/src/main/scala/org/apache/pekko/projection/grpc/internal/ProtoAnySerialization.scala"
    }
  ]
}
