{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":601417867,"defaultBranch":"main","name":"go","ownerLogin":"replicate","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-02-14T02:37:14.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/60410876?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1721387409.0","currentOid":""},"activityList":{"items":[{"before":"dc9acc245fd0e90d86affed9e95011dd0ba81625","after":null,"ref":"refs/heads/upgrade-go-redis-to-9.6.0","pushedAt":"2024-07-19T11:10:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"}},{"before":"21f4e8b85ebb2e5c88ed673c46cde5bd6362900e","after":"451431c7f9b858848a942fcb9f47cb72576b646a","ref":"refs/heads/main","pushedAt":"2024-07-19T11:10:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Upgrade go-redis to v9.6.0","shortMessageHtmlLink":"Upgrade go-redis to v9.6.0"}},{"before":null,"after":"dc9acc245fd0e90d86affed9e95011dd0ba81625","ref":"refs/heads/upgrade-go-redis-to-9.6.0","pushedAt":"2024-07-19T11:07:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andreasjansson","name":"Andreas Jansson","path":"/andreasjansson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/713993?s=80&v=4"},"commit":{"message":"Upgrade go-redis to v9.6.0","shortMessageHtmlLink":"Upgrade go-redis to v9.6.0"}},{"before":null,"after":"637002565291868c1a3b7a1aa48047f67055fd6c","ref":"refs/heads/downgrade-redis-to-9.5.2","pushedAt":"2024-07-19T11:03:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andreasjansson","name":"Andreas Jansson","path":"/andreasjansson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/713993?s=80&v=4"},"commit":{"message":"Downgrade go-redis to 9.5.2\n\n9.5.3 and 9.5.4 were pulled from Github. 9.5.2 is the latest 9.5.x release that still works.","shortMessageHtmlLink":"Downgrade go-redis to 9.5.2"}},{"before":"0d39d997775bfc86835a1cd10e3821e3931f0f73","after":null,"ref":"refs/heads/deterministic-attribute-ordering","pushedAt":"2024-07-19T10:12:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"andreasjansson","name":"Andreas Jansson","path":"/andreasjansson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/713993?s=80&v=4"}},{"before":"6cbfa70d9d0542475d67b1e31da97dc0a4df8f42","after":"21f4e8b85ebb2e5c88ed673c46cde5bd6362900e","ref":"refs/heads/main","pushedAt":"2024-07-19T10:12:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andreasjansson","name":"Andreas Jansson","path":"/andreasjansson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/713993?s=80&v=4"},"commit":{"message":"[telemetry] Deterministic attribute ordering\n\nSort telemetry attributes by key, alphabetically.","shortMessageHtmlLink":"[telemetry] Deterministic attribute ordering"}},{"before":null,"after":"0d39d997775bfc86835a1cd10e3821e3931f0f73","ref":"refs/heads/deterministic-attribute-ordering","pushedAt":"2024-07-18T19:43:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"andreasjansson","name":"Andreas Jansson","path":"/andreasjansson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/713993?s=80&v=4"},"commit":{"message":"[telemetry] Deterministic attribute ordering\n\nSort telemetry attributes by key, alphabetically.","shortMessageHtmlLink":"[telemetry] Deterministic attribute ordering"}},{"before":"1c54acc005880aa2bd4131cc91102932624d2539","after":null,"ref":"refs/heads/expire-meta-keys","pushedAt":"2024-07-18T15:58:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"}},{"before":"4ac4835ec5b72c16c838e47e8a27d29deaede9b4","after":"6cbfa70d9d0542475d67b1e31da97dc0a4df8f42","ref":"refs/heads/main","pushedAt":"2024-07-18T15:58:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Set expiry on meta keys when touching them\n\nEven in the read command, we need to ensure that a TTL is set on the\nmeta key when we write to it.","shortMessageHtmlLink":"Set expiry on meta keys when touching them"}},{"before":null,"after":"1c54acc005880aa2bd4131cc91102932624d2539","ref":"refs/heads/expire-meta-keys","pushedAt":"2024-07-18T15:37:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Set expiry on meta keys when touching them\n\nEven in the read command, we need to ensure that a TTL is set on the\nmeta key when we write to it.","shortMessageHtmlLink":"Set expiry on meta keys when touching them"}},{"before":"87400e1be7e3c44d3d8c790c1ce1dc534bfa0459","after":null,"ref":"refs/heads/pipeline-cache-set","pushedAt":"2024-07-17T11:03:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"}},{"before":"c17866331d4f805405c39c549f0c26a048de8a6e","after":"4ac4835ec5b72c16c838e47e8a27d29deaede9b4","ref":"refs/heads/main","pushedAt":"2024-07-17T11:03:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Pipeline the calls involved in cache set\n\nThis makes these calls both pipelined (all executed with a single\nnetwork call) and transactional (all must succeed or none will).","shortMessageHtmlLink":"Pipeline the calls involved in cache set"}},{"before":"7c6e4447b9d2b7c7b4a68723df2ad7289248b8ac","after":"87400e1be7e3c44d3d8c790c1ce1dc534bfa0459","ref":"refs/heads/pipeline-cache-set","pushedAt":"2024-07-17T10:57:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Pipeline the calls involved in cache set\n\nThis makes these calls both pipelined (all executed with a single\nnetwork call) and transactional (all must succeed or none will).","shortMessageHtmlLink":"Pipeline the calls involved in cache set"}},{"before":null,"after":"7c6e4447b9d2b7c7b4a68723df2ad7289248b8ac","ref":"refs/heads/pipeline-cache-set","pushedAt":"2024-07-17T10:55:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Pipeline the calls involved in cache set\n\nThis makes these calls both pipelined (all executed with a single\nnetwork call) and transactional (all must succeed or none will).","shortMessageHtmlLink":"Pipeline the calls involved in cache set"}},{"before":"5f1570d5d85994510d6b084653b18fcaa6f585cd","after":null,"ref":"refs/heads/dont-export-metrics-to-otlp","pushedAt":"2024-07-15T16:55:32.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"}},{"before":"462aa88788c8cc7e980c01aa1eef0dc1abb582f9","after":"c17866331d4f805405c39c549f0c26a048de8a6e","ref":"refs/heads/main","pushedAt":"2024-07-15T16:55:30.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Reconfigure meterProvider in tests\n\nThis is ugly but prevents double-shutdowns of the meterProvider when\ntesting.","shortMessageHtmlLink":"Reconfigure meterProvider in tests"}},{"before":"883baf2fb2c7be4bdc42ff818feccab1d621a9b6","after":"5f1570d5d85994510d6b084653b18fcaa6f585cd","ref":"refs/heads/dont-export-metrics-to-otlp","pushedAt":"2024-07-15T16:27:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Reconfigure meterProvider in tests\n\nThis is ugly but prevents double-shutdowns of the meterProvider when\ntesting.","shortMessageHtmlLink":"Reconfigure meterProvider in tests"}},{"before":null,"after":"883baf2fb2c7be4bdc42ff818feccab1d621a9b6","ref":"refs/heads/dont-export-metrics-to-otlp","pushedAt":"2024-07-15T16:18:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Don't export metrics via OTLP\n\nThis currently generates an awful lot of events for Honeycomb/Refinery,\nand it's not clear that we need it as we're sorting out Grafana and\nPrometheus.\n\nFor now, just turn this off.","shortMessageHtmlLink":"Don't export metrics via OTLP"}},{"before":"1639f0f6485437b15dc09292c473363e4d74094c","after":null,"ref":"refs/heads/shuffle-queues","pushedAt":"2024-07-15T13:21:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"}},{"before":"230f1d8022a2ae7a46c484b0b0a159a53c2bd2be","after":"462aa88788c8cc7e980c01aa1eef0dc1abb582f9","ref":"refs/heads/main","pushedAt":"2024-07-15T13:21:24.000Z","pushType":"pr_merge","commitsCount":10,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Record message pickup delay\n\nThis records the time that the message has spent in the queue at pickup\non the current span as `queue.pickup_delay_ms`.","shortMessageHtmlLink":"Record message pickup delay"}},{"before":"433ac39da4557557e8dec0fc4238bfbbaf01d360","after":"1639f0f6485437b15dc09292c473363e4d74094c","ref":"refs/heads/shuffle-queues","pushedAt":"2024-07-15T13:12:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Record message pickup delay\n\nThis records the time that the message has spent in the queue at pickup\non the current span as `queue.pickup_delay_ms`.","shortMessageHtmlLink":"Record message pickup delay"}},{"before":"d943e93e884ed3ecf93e8e1913773639021dd33d","after":"433ac39da4557557e8dec0fc4238bfbbaf01d360","ref":"refs/heads/shuffle-queues","pushedAt":"2024-07-15T12:46:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Record message pickup delay\n\nThis records the time that the message has spent in the queue at pickup\non the current span as `queue.pickup_delay_ms`.","shortMessageHtmlLink":"Record message pickup delay"}},{"before":"25e09c43e5b1a63d88ddbbecf1734563642c9042","after":"d943e93e884ed3ecf93e8e1913773639021dd33d","ref":"refs/heads/shuffle-queues","pushedAt":"2024-07-15T12:45:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Record message pickup delay\n\nThis records the time that the message has spent in the queue at pickup\non the current span as `queue.pickup_delay_ms`.","shortMessageHtmlLink":"Record message pickup delay"}},{"before":"bc43b1414eff7a69ddb1d03837b255e319bb4d60","after":"25e09c43e5b1a63d88ddbbecf1734563642c9042","ref":"refs/heads/shuffle-queues","pushedAt":"2024-07-15T12:29:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Record message pickup delay\n\nThis records the time that the message has spent in the queue at pickup\non the current span as `queue.pickup_delay_ms`.","shortMessageHtmlLink":"Record message pickup delay"}},{"before":"26c4a170cbfc387ec8b6c61e04cde586f3d60807","after":"bc43b1414eff7a69ddb1d03837b255e319bb4d60","ref":"refs/heads/shuffle-queues","pushedAt":"2024-07-15T12:10:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Use a coordinated offset rather than a \"random\" one\n\nDom pointed out that using a random (or, as in our case, \"random\")\noffset for choosing where to start reading doesn't actually result in\nfair reads.\n\nConsider the contrived but quite possible case of a 64-stream queue in\nwhich tenant A is allocated streams [0,4), tenant B is allocated streams\n[4,8), and no other tenants are using the queue.\n\nAny read which starts at offsets in the range [4,8) will fetch a message\nfor tenant B, but a read starting at any other offset (all 60 of them)\nwill fetch a message for tenant A.\n\nThis updates the read code to use a globally coordinated offset stored\nin the \"meta\" key to ensure fairness across reads, still without\nrequiring consumers to maintain state. Any time a message is found, the\noffset is updated to point to the *next* stream in the queue, and then\nreads start at the recorded offset. This should ensure that the first\nread round-robins through all queues that have messages in them.","shortMessageHtmlLink":"Use a coordinated offset rather than a \"random\" one"}},{"before":"9ac2910937d2c01396ace94bb6935fcea3344c8b","after":"26c4a170cbfc387ec8b6c61e04cde586f3d60807","ref":"refs/heads/shuffle-queues","pushedAt":"2024-07-15T10:31:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nickstenning","name":"Nick Stenning","path":"/nickstenning","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3602?s=80&v=4"},"commit":{"message":"Return a sentinel error when no messages are available\n\nBy analogy with most of the Redis client commands, this switches the\nqueue package to return a sentinel error (queue.Empty) when no messages\nare available, rather than the somewhat cryptic \"nil, nil\".","shortMessageHtmlLink":"Return a sentinel error when no messages are available"}},{"before":"503a63d2acef076d66bf1d391d6107c38b7022d9","after":null,"ref":"refs/heads/add-apache-license","pushedAt":"2024-07-15T10:29:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"philandstuff","name":"Philip Potter","path":"/philandstuff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/581269?s=80&v=4"}},{"before":"b006887f3e02f4dca0f312e2cae2563bd694ca12","after":"230f1d8022a2ae7a46c484b0b0a159a53c2bd2be","ref":"refs/heads/main","pushedAt":"2024-07-15T10:29:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"philandstuff","name":"Philip Potter","path":"/philandstuff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/581269?s=80&v=4"},"commit":{"message":"Add Apache 2.0 license (#123)\n\nWe use apache 2.0 for our open source:\r\n\r\nhttps://replicatehq.slack.com/archives/C077LEDKF6C/p1718311106903579?thread_ts=1718297330.880889&cid=C077LEDKF6C","shortMessageHtmlLink":"Add Apache 2.0 license (#123)"}},{"before":"ec50aad4774f33dd2d17e84232bd143b6713f4f8","after":"503a63d2acef076d66bf1d391d6107c38b7022d9","ref":"refs/heads/add-apache-license","pushedAt":"2024-07-15T10:25:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"philandstuff","name":"Philip Potter","path":"/philandstuff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/581269?s=80&v=4"},"commit":{"message":"Add Apache 2.0 license\n\nWe use apache 2.0 for our open source:\n\nhttps://replicatehq.slack.com/archives/C077LEDKF6C/p1718311106903579?thread_ts=1718297330.880889&cid=C077LEDKF6C","shortMessageHtmlLink":"Add Apache 2.0 license"}},{"before":null,"after":"ec50aad4774f33dd2d17e84232bd143b6713f4f8","ref":"refs/heads/add-apache-license","pushedAt":"2024-07-15T10:23:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"philandstuff","name":"Philip Potter","path":"/philandstuff","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/581269?s=80&v=4"},"commit":{"message":"Add Apache 2.0 license\n\nWe use apache 2.0 for our open source:\n\nhttps://replicatehq.slack.com/archives/C077LEDKF6C/p1718311106903579?thread_ts=1718297330.880889&cid=C077LEDKF6C","shortMessageHtmlLink":"Add Apache 2.0 license"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEg9XvOgA","startCursor":null,"endCursor":null}},"title":"Activity ยท replicate/go"}