{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":343485845,"defaultBranch":"main","name":"materialize","ownerLogin":"aljoscha","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-03-01T16:39:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/68551?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717680527.0","currentOid":""},"activityList":{"items":[{"before":"a0fef813835b353534900e37685bd8ee013d7a61","after":"f3679ea60c0eb14586f21e86f9615bbfca0d6205","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-10T10:06:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"def-","name":"Dennis Felsing","path":"/def-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2335377?s=80&v=4"},"commit":{"message":"Implement explicit test for read-only-clusters","shortMessageHtmlLink":"Implement explicit test for read-only-clusters"}},{"before":"731124ccb78085c25b995211a7b4f68243069a81","after":"a0fef813835b353534900e37685bd8ee013d7a61","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-10T09:05:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: in persist_sink, use async_stream for fetching persist uppers","shortMessageHtmlLink":"compute: in persist_sink, use async_stream for fetching persist uppers"}},{"before":"83f0e69fa2204b22e4f8a5b379fb0bdaf06f7623","after":"731124ccb78085c25b995211a7b4f68243069a81","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-10T08:42:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"def-","name":"Dennis Felsing","path":"/def-","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2335377?s=80&v=4"},"commit":{"message":"Implement explicit test for read-only-clusters","shortMessageHtmlLink":"Implement explicit test for read-only-clusters"}},{"before":"9560d15a3f0be97ad0f891caaed24aff7be4cc9c","after":"83f0e69fa2204b22e4f8a5b379fb0bdaf06f7623","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-07T13:00:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"fixup! compute: in persist_sink, use async_stream for fetching persist uppers","shortMessageHtmlLink":"fixup! compute: in persist_sink, use async_stream for fetching persis…"}},{"before":"ef124f5731ed41d775736bf3cada44049fa7d13f","after":"9560d15a3f0be97ad0f891caaed24aff7be4cc9c","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-07T10:03:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"fixup! fixup! remove unneeded append_output_stream","shortMessageHtmlLink":"fixup! fixup! remove unneeded append_output_stream"}},{"before":"4dc659fff2920b3b003ff80135140e532988779c","after":"ef124f5731ed41d775736bf3cada44049fa7d13f","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-07T09:17:05.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"fixup! fixup! compute: in persist_sink, discard batches that can never be applied","shortMessageHtmlLink":"fixup! fixup! compute: in persist_sink, discard batches that can neve…"}},{"before":"9f2a47fac232486b51c3a5e8efa844d6f3dfc07f","after":"5040fb7b9fa70f286bba46e2eb496c3115e2b5d3","ref":"refs/heads/storage-differentiate-storage-managed-collections","pushedAt":"2024-06-06T15:04:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"storage: differentiate between append-only and incremental storage-managed collections","shortMessageHtmlLink":"storage: differentiate between append-only and incremental storage-ma…"}},{"before":null,"after":"9f2a47fac232486b51c3a5e8efa844d6f3dfc07f","ref":"refs/heads/storage-differentiate-storage-managed-collections","pushedAt":"2024-06-06T13:28:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"storage: differentiate between append-only and incremental storage-managed collections","shortMessageHtmlLink":"storage: differentiate between append-only and incremental storage-ma…"}},{"before":"f1c2c43e96d84e87e053660a1a475851b7919c1a","after":"4dc659fff2920b3b003ff80135140e532988779c","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-06T10:01:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"adapter: add for-testing http endpoint for allowing (controllers) to write\n\n> [!NOTE]\n> The orchestration via commandline flag and the http endpoint is for demonstration and during local development of zero-downtime related features. Later, with proper 0dt upgrades implemented, the coordinator would start the controller in read-only mode when doing an upgrade and decide when to take a controller out of read-only mode.\n\nFirst, start `envd` with controllers in read-only mod:\n\n```\n$ bin/environmentd --reset -- --read-only-controllers\n```\n\nThen, create a table, index, and a materialized view:\n\n```sql\ncreate table foo (name string, count bigint);\ncreate index foo_idx on foo (name, count);\ncreate materialized view mv as select * from foo;\n```\n\nObserve that you can query the table but that the materialized view is\nnot being updated:\n\n```sql\nselect * from foo; -- this will use the index, showing that read-only dataflows work as expected\nselect * from mv; -- this will hang\n```\n\nTake controller and clusters out of read-only mode:\n\n```sh\n$ curl -X POST localhost:6878/api/control/allow-writes\n```\n\nObserve that now the materialized view _does_ make progress:\n\n```sql\nselect * from mv;\n```","shortMessageHtmlLink":"adapter: add for-testing http endpoint for allowing (controllers) to …"}},{"before":"97d5c8cd495e7e601da333c7bfedf6b0b00d0c8d","after":"f1c2c43e96d84e87e053660a1a475851b7919c1a","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-06T10:00:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"adapter: add for-testing http endpoint for allowing (controllers) to write\n\n> [!NOTE]\n> The orchestration via commandline flag and the http endpoint is for demonstration and during local development of zero-downtime related features. Later, with proper 0dt upgrades implemented, the coordinator would start the controller in read-only mode when doing an upgrade and decide when to take a controller out of read-only mode.\n\nFirst, start `envd` with controllers in read-only mod:\n\n```\n$ bin/environmentd --reset -- --read-only-controllers\n```\n\nThen, create a table, index, and a materialized view:\n\n```sql\ncreate table foo (name string, count bigint);\ncreate index foo_idx on foo (name, count);\ncreate materialized view mv as select * from foo;\n```\n\nObserve that you can query the table but that the materialized view is\nnot being updated:\n\n```sql\nselect * from foo; -- this will use the index, showing that read-only dataflows work as expected\nselect * from mv; -- this will hang\n```\n\nTake controller and clusters out of read-only mode:\n\n```sh\n$ curl -X POST localhost:6878/api/control/allow-writes\n```\n\nObserve that now the materialized view _does_ make progress:\n\n```sql\nselect * from mv;\n```","shortMessageHtmlLink":"adapter: add for-testing http endpoint for allowing (controllers) to …"}},{"before":null,"after":"cafde46ba40601da1d89d312d75d2c0286d4c3a4","ref":"refs/heads/adapter-concurrent-testing-envd","pushedAt":"2024-06-05T13:19:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"WIP: source/sink statistics don't work yet","shortMessageHtmlLink":"WIP: source/sink statistics don't work yet"}},{"before":"96367703ce7fc5a6a950b9c1602e4a381eb6d7af","after":"97d5c8cd495e7e601da333c7bfedf6b0b00d0c8d","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-04T17:24:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: document new read-write computation stage and AllowWrites command","shortMessageHtmlLink":"compute: document new read-write computation stage and AllowWrites co…"}},{"before":"34c8dde1d11cc80c2b29af8d97a2e4c633385f53","after":"7aeffc99d3f9acd73c3aed7c83979d77468b8cf4","ref":"refs/heads/adapter-peeks-bypass-coordinator","pushedAt":"2024-06-04T14:40:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"WIP: add peek_optimizer_cache","shortMessageHtmlLink":"WIP: add peek_optimizer_cache"}},{"before":"591e3dd910af10451f44231f3d796d7319f1e2d5","after":"96367703ce7fc5a6a950b9c1602e4a381eb6d7af","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-03T14:23:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: document new read-write computation stage and AllowWrites command","shortMessageHtmlLink":"compute: document new read-write computation stage and AllowWrites co…"}},{"before":"bcd6eb0038231892470df12cbb0404d75bee6775","after":"591e3dd910af10451f44231f3d796d7319f1e2d5","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-03T10:45:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: document new read-write computation stage and AllowWrites command","shortMessageHtmlLink":"compute: document new read-write computation stage and AllowWrites co…"}},{"before":"52ee3f0fe46d23869274d6d7d8b47aaf48a7aab0","after":null,"ref":"refs/heads/storage-arc-ify-storage-collections","pushedAt":"2024-06-03T09:44:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"}},{"before":"0a0dc1e7298efddcbd238070b7f8ecdde01fdeef","after":null,"ref":"refs/heads/persist-investigate-decode-panic","pushedAt":"2024-06-03T08:51:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"}},{"before":"62a3129f91afca5c2a9be156be93514496e1c2d2","after":"52ee3f0fe46d23869274d6d7d8b47aaf48a7aab0","ref":"refs/heads/storage-arc-ify-storage-collections","pushedAt":"2024-06-03T08:50:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"storage: remove unnecessary non-Send bound on StorageCollections and friends","shortMessageHtmlLink":"storage: remove unnecessary non-Send bound on StorageCollections and …"}},{"before":"b593b553aa906ad988abcd2249a7b0d455ec8f36","after":"bcd6eb0038231892470df12cbb0404d75bee6775","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-03T08:31:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: document new read-write computation stage and AllowWrites command","shortMessageHtmlLink":"compute: document new read-write computation stage and AllowWrites co…"}},{"before":"0597d1227d57d58b2a6faa505908eb1f3debc5ee","after":"b593b553aa906ad988abcd2249a7b0d455ec8f36","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-06-03T08:11:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: document new read-write computation stage and AllowWrites command","shortMessageHtmlLink":"compute: document new read-write computation stage and AllowWrites co…"}},{"before":"919e6c6e6c71a7eec48d53d03feb2ee59e72c38e","after":null,"ref":"refs/heads/storage-fix-upsert-hydration-panic","pushedAt":"2024-05-31T16:34:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"}},{"before":"97bcb946ba6aa811d761bc6292602373715a32c2","after":"919e6c6e6c71a7eec48d53d03feb2ee59e72c38e","ref":"refs/heads/storage-fix-upsert-hydration-panic","pushedAt":"2024-05-31T06:39:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"storage: gracefully restart upsert source on as_of problems\n\nSimilar to the fix for sinks in\nhttps://github.com/MaterializeInc/materialize/pull/27323, we now\ngracefully restart upsert sources.\n\nUpsert sources suffer from a similar problem to sinks where a drop\ncommand does not make it to the cluster in time while read/since handles\nare already dropped by the controller. In those cases, we might now try\nand restart a couple of times until the information makes it to the\ncluster.\n\nFixes #27345","shortMessageHtmlLink":"storage: gracefully restart upsert source on as_of problems"}},{"before":null,"after":"97bcb946ba6aa811d761bc6292602373715a32c2","ref":"refs/heads/storage-fix-upsert-hydration-panic","pushedAt":"2024-05-31T06:36:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"storage: gracefully restart upsert source on as_of problems\n\nSimilar to the fix for sinks in\nhttps://github.com/MaterializeInc/materialize/pull/27323, we now\ngracefully restart upsert sources.\n\nUpsert sources suffer from a similar problem to sinks where a drop\ncommand does not make it to the cluster in time while read/since handles\nare already dropped by the controller. In those cases, we might now try\nand restart a couple of times until the information makes it to the\ncluster.\n\nFixes #27345","shortMessageHtmlLink":"storage: gracefully restart upsert source on as_of problems"}},{"before":"a5c1af38fca7d399f4e454c0ada254adf963c9b0","after":"0597d1227d57d58b2a6faa505908eb1f3debc5ee","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-05-30T16:54:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: in persist_sink, use WriteHandle to track upper","shortMessageHtmlLink":"compute: in persist_sink, use WriteHandle to track upper"}},{"before":"501e1b85691f1e1d61dc5a381747426adb203bc8","after":"a5c1af38fca7d399f4e454c0ada254adf963c9b0","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-05-30T16:07:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: in persist_sink, use WriteHandle to track upper","shortMessageHtmlLink":"compute: in persist_sink, use WriteHandle to track upper"}},{"before":"078dc0f102f60162adfd511c2f56545fe42f3613","after":"501e1b85691f1e1d61dc5a381747426adb203bc8","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-05-30T10:04:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: in persist_sink, use persist_stream instead of feedback edge","shortMessageHtmlLink":"compute: in persist_sink, use persist_stream instead of feedback edge"}},{"before":"e28a3b7c93ce5c1c91f4a947631ffb562121cfae","after":"078dc0f102f60162adfd511c2f56545fe42f3613","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-05-30T09:57:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: in persist_sink, use persist_stream instead of feedback edge","shortMessageHtmlLink":"compute: in persist_sink, use persist_stream instead of feedback edge"}},{"before":"0ab483424333189b082dd2c365c9143eb3cd44f4","after":null,"ref":"refs/heads/controller-fix-dropped-collections","pushedAt":"2024-05-30T09:15:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"}},{"before":"ff8a42edfccde6dd82b25d6556c48fd4aafbd4a6","after":"e28a3b7c93ce5c1c91f4a947631ffb562121cfae","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-05-29T17:34:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: use tokio::watch for propagating read-only mode","shortMessageHtmlLink":"compute: use tokio::watch for propagating read-only mode"}},{"before":"90c4e1238472f37da3c8fe7bb8a3afaf9df71730","after":"ff8a42edfccde6dd82b25d6556c48fd4aafbd4a6","ref":"refs/heads/compute-read-only-clusters","pushedAt":"2024-05-29T16:03:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"aljoscha","name":"Aljoscha Krettek","path":"/aljoscha","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68551?s=80&v=4"},"commit":{"message":"compute: in persist_sink, use persist_stream instead of feedback edge","shortMessageHtmlLink":"compute: in persist_sink, use persist_stream instead of feedback edge"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYPUq9AA","startCursor":null,"endCursor":null}},"title":"Activity · aljoscha/materialize"}