)]}'
{
  "commit": "94bc3a530cb5a75d5ddfe3b857bcad89f4142951",
  "tree": "9f995aeda7cc7ebcd37807ac9ef3c9100098c5cd",
  "parents": [
    "8ee53365e3516d536f17d2c1adf9b789ce2bab6b"
  ],
  "author": {
    "name": "Pujitha Paladugu",
    "email": "pujitha.rathna@gmail.com",
    "time": "Thu Oct 15 23:37:32 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Oct 16 14:37:32 2026 +0800"
  },
  "message": "fix(client): keep reference-level request timeout over consumer default (#3757)\n\n* fix(client): keep reference-level request timeout over consumer default\n\nMotivation:\nReferenceOptions.refer() builds the reference URL from getURLMap(), which\nsets the timeout from the reference-level RequestTimeout, and then\nunconditionally overwrote it with the consumer-level RequestTimeout. An\nexplicit WithRequestTimeout(500ms) on a reference therefore ended up as the\nconsumer default (e.g. 3s) in the URL timeout param, which the Triple client\nreads as its default call timeout.\n\nApproach:\nUse the consumer-level timeout only as a fallback when the reference-level\ntimeout is empty. Behaviour is unchanged when only the consumer timeout (or\nneither) is set. Per-call WithCallRequestTimeout is untouched.\n\nValidation:\n- Added TestReferenceTimeoutPrecedence (client/timeout_precedence_test.go),\n  which drives ReferenceOptions.Refer() with a mock protocol/cluster and\n  checks the timeout param on the URL. Without the fix the \"reference wins\"\n  case fails (got 3s, want 500ms); with the fix both cases pass.\n- go test ./client/ -count\u003d1: ok\n- go build ./..., go vet ./client/, golangci-lint run ./client/...: clean\nNot run: an end-to-end RPC measuring actual call duration; the test checks\nURL construction only.\n\nReport: https://github.com/apache/dubbo-go/issues/3756\nSigned-off-by: Pujitha Paladugu \u003c10557236+pujitha24@users.noreply.github.com\u003e\nAssisted-by: claude-sonnet-5-5 (via Claude Code)\n\n* test(client): move timeout precedence test to action_test.go; clone overallReference per dial\n\nSigned-off-by: Pujitha Paladugu \u003c10557236+pujitha24@users.noreply.github.com\u003e\n\n---------\n\nSigned-off-by: Pujitha Paladugu \u003c10557236+pujitha24@users.noreply.github.com\u003e\nCo-authored-by: Pujitha Paladugu \u003c10557236+pujitha24@users.noreply.github.com\u003e\nCo-authored-by: Xuetao Li \u003cm134679102365478@163.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "935b668b24438f2e181ea9a4ed97d07f74e5647c",
      "old_mode": 33188,
      "old_path": "client/action.go",
      "new_id": "23a7aefe49395a51a7a6e028aa9ba53f1ad880a0",
      "new_mode": 33188,
      "new_path": "client/action.go"
    },
    {
      "type": "modify",
      "old_id": "fb2834c75e909647b0147d875b89c024322e2678",
      "old_mode": 33188,
      "old_path": "client/action_test.go",
      "new_id": "09139a43a6827dfda3c46f4657d6250bdfe5b22e",
      "new_mode": 33188,
      "new_path": "client/action_test.go"
    },
    {
      "type": "modify",
      "old_id": "21c39beb90b252dbc056d38c1e6fb0640bf9fe33",
      "old_mode": 33188,
      "old_path": "client/client.go",
      "new_id": "6bef6c88209277066d31aba3f199538d7cb8f9be",
      "new_mode": 33188,
      "new_path": "client/client.go"
    }
  ]
}
