Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Issue 1838803002: LogDog: BigTable batching schema. (Closed)

Created:
4 years, 8 months ago by dnj
Modified:
4 years, 8 months ago
CC:
chromium-reviews, infra-reviews+luci-go_chromium.org, andrew.wang, todd, tandrii+luci-go_chromium.org, M-A Ruel
Base URL:
https://github.com/luci/luci-go@recordio-split
Target Ref:
refs/heads/master
Project:
luci-go
Visibility:
Public.

Description

LogDog: BigTable batching schema. Update the Storage schema to enable batching Put() calls. Update BigTable schema to store batches of sequential logs in a single cell instead of requiring one cell per log. Previously, BigTable schema keyed each cell row off of a log's index. Now, the cell row is keyed based on the LAST index in a block of sequential log entries, storing entries as a series of recordio blocks. This change allows multiple log entries to be stored in a single BigTable cell. Before: 0|1|2|3|4|5 Now: 0 1 2 3|4 5 Before, "get message 2" meant "go to row #2, get data." Now, it is "go to row >= 2 (in this example, 3) and pull 2 out of the block. Update APIs accordingly. Also update Subscriber API to control message quantity rather than batch pull count for better tuning and parity with upstream Pub/Sub API changes. BUG=chromium:597886 TEST=local Committed: https://github.com/luci/luci-go/commit/63c19cda88aa254fd537edc802bf5c19cc8f009f

Patch Set 1 #

Total comments: 8

Patch Set 2 : Minor comments and quality of code tweaks. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+672 lines, -514 lines) Patch
M appengine/logdog/coordinator/config/bigTable.go View 2 chunks +7 lines, -2 lines 0 comments Download
M appengine/logdog/coordinator/endpoints/logs/get.go View 1 chunk +1 line, -1 line 0 comments Download
M appengine/logdog/coordinator/endpoints/logs/get_test.go View 1 2 chunks +8 lines, -8 lines 0 comments Download
M common/gcloud/pubsub/subscriber/source.go View 1 chunk +10 lines, -17 lines 0 comments Download
M common/gcloud/pubsub/subscriber/subscriber.go View 3 chunks +43 lines, -60 lines 0 comments Download
M common/gcloud/pubsub/subscriber/subscriber_test.go View 1 4 chunks +35 lines, -14 lines 0 comments Download
M common/proto/logdog/logpb/butler.proto View 1 chunk +1 line, -2 lines 0 comments Download
M common/proto/logdog/logpb/butler.pb.go View 1 1 chunk +1 line, -2 lines 0 comments Download
M common/proto/logdog/svcconfig/config.proto View 1 chunk +6 lines, -4 lines 0 comments Download
M common/proto/logdog/svcconfig/config.pb.go View 1 2 chunks +36 lines, -33 lines 0 comments Download
M server/cmd/logdog_collector/main.go View 3 chunks +8 lines, -13 lines 0 comments Download
M server/internal/logdog/archivist/archivist.go View 1 1 chunk +1 line, -1 line 0 comments Download
M server/internal/logdog/archivist/archivist_test.go View 1 1 chunk +4 lines, -4 lines 0 comments Download
M server/internal/logdog/collector/collector.go View 9 chunks +112 lines, -114 lines 0 comments Download
M server/internal/logdog/collector/collector_test.go View 8 chunks +19 lines, -42 lines 0 comments Download
M server/internal/logdog/collector/utils_test.go View 4 chunks +4 lines, -3 lines 0 comments Download
M server/internal/logdog/service/service.go View 6 chunks +25 lines, -2 lines 0 comments Download
M server/logdog/storage/archive/storage.go View 4 chunks +9 lines, -11 lines 0 comments Download
M server/logdog/storage/bigtable/bigtable.go View 6 chunks +14 lines, -32 lines 0 comments Download
M server/logdog/storage/bigtable/initialize.go View 4 chunks +10 lines, -10 lines 0 comments Download
M server/logdog/storage/bigtable/storage.go View 1 6 chunks +191 lines, -64 lines 0 comments Download
M server/logdog/storage/bigtable/storage_test.go View 1 6 chunks +79 lines, -36 lines 0 comments Download
M server/logdog/storage/memory/memory.go View 1 chunk +13 lines, -8 lines 0 comments Download
M server/logdog/storage/memory/memory_test.go View 9 chunks +30 lines, -27 lines 0 comments Download
M server/logdog/storage/storage.go View 3 chunks +5 lines, -4 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 12 (5 generated)
dnj
PTAL
4 years, 8 months ago (2016-03-28 15:24:34 UTC) #2
dnj
(Ping!)
4 years, 8 months ago (2016-03-29 17:27:09 UTC) #3
dnj
+some more people, since estaab@ is out of country and iannucci@ is fairly busy ATM.
4 years, 8 months ago (2016-03-29 19:29:46 UTC) #5
nodir
lgtm what do you with rows that have old schema? https://codereview.chromium.org/1838803002/diff/1/common/gcloud/pubsub/subscriber/subscriber.go File common/gcloud/pubsub/subscriber/subscriber.go (right): https://codereview.chromium.org/1838803002/diff/1/common/gcloud/pubsub/subscriber/subscriber.go#newcode1 ...
4 years, 8 months ago (2016-03-30 18:29:42 UTC) #6
dnj
Previous BT data has been trashed, which I'm very okay with. https://codereview.chromium.org/1838803002/diff/1/common/gcloud/pubsub/subscriber/subscriber.go File common/gcloud/pubsub/subscriber/subscriber.go (right): ...
4 years, 8 months ago (2016-03-30 18:37:14 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1838803002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1838803002/20001
4 years, 8 months ago (2016-04-01 22:16:15 UTC) #10
commit-bot: I haz the power
4 years, 8 months ago (2016-04-01 22:19:58 UTC) #12
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://github.com/luci/luci-go/commit/63c19cda88aa254fd537edc802bf5c19cc8f009f

Powered by Google App Engine
This is Rietveld 408576698