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

Issue 2246933002: Add Task DB implementation using a local BoltDB. (Closed)

Created:
4 years, 4 months ago by dogben
Modified:
4 years, 4 months ago
Reviewers:
borenet
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/buildbot@taskdb-impl-track
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Add Task DB implementation using a local BoltDB. This is based on https://skia.googlesource.com/buildbot/+/b3e65910018762c87e786a3b7bd37a601cec24d0/go/buildbot/local_db.go Moved db/db_test.go to db/testutil.go to overcome circular dependency issue in local_db_test.go. Moved tests to memory_test.go. Many TODOs added for missing functionality. BUG=skia:5626 Committed: https://skia.googlesource.com/buildbot/+/4ca08f07c538b7dd11dbb9ee3a46139d1c7b3203

Patch Set 1 #

Total comments: 4

Patch Set 2 : Use fixed-width format for Id. Add TODO for deleting metric. #

Patch Set 3 : Fix bad merge. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+855 lines, -187 lines) Patch
D build_scheduler/go/db/db_test.go View 1 chunk +0 lines, -171 lines 0 comments Download
A build_scheduler/go/db/local_db/local_db.go View 1 1 chunk +393 lines, -0 lines 2 comments Download
A build_scheduler/go/db/local_db/local_db_test.go View 1 1 chunk +236 lines, -0 lines 0 comments Download
A build_scheduler/go/db/memory_test.go View 1 chunk +11 lines, -0 lines 0 comments Download
M build_scheduler/go/db/modified_tasks.go View 1 chunk +11 lines, -4 lines 0 comments Download
M build_scheduler/go/db/task.go View 1 4 chunks +88 lines, -2 lines 0 comments Download
M build_scheduler/go/db/task_test.go View 1 2 chunks +114 lines, -0 lines 0 comments Download
A + build_scheduler/go/db/testutil.go View 3 chunks +2 lines, -10 lines 0 comments Download

Messages

Total messages: 26 (16 generated)
dogben
4 years, 4 months ago (2016-08-15 17:43:00 UTC) #6
borenet
Just a couple of comments. https://codereview.chromium.org/2246933002/diff/1/build_scheduler/go/db/local_db/local_db.go File build_scheduler/go/db/local_db/local_db.go (right): https://codereview.chromium.org/2246933002/diff/1/build_scheduler/go/db/local_db/local_db.go#newcode48 build_scheduler/go/db/local_db/local_db.go:48: // single hexidecimal digit.) ...
4 years, 4 months ago (2016-08-16 19:49:54 UTC) #8
dogben
https://codereview.chromium.org/2246933002/diff/1/build_scheduler/go/db/local_db/local_db.go File build_scheduler/go/db/local_db/local_db.go (right): https://codereview.chromium.org/2246933002/diff/1/build_scheduler/go/db/local_db/local_db.go#newcode48 build_scheduler/go/db/local_db/local_db.go:48: // single hexidecimal digit.) On 2016/08/16 19:49:54, borenet wrote: ...
4 years, 4 months ago (2016-08-17 13:29:44 UTC) #15
dogben
Sorry, it seems I have yet another bad merge. Will fix it momentarily...
4 years, 4 months ago (2016-08-17 13:35:43 UTC) #18
dogben
On 2016/08/17 13:35:43, Ben Wagner wrote: > Sorry, it seems I have yet another bad ...
4 years, 4 months ago (2016-08-17 13:38:52 UTC) #19
borenet
LGTM https://codereview.chromium.org/2246933002/diff/40001/build_scheduler/go/db/local_db/local_db.go File build_scheduler/go/db/local_db/local_db.go (right): https://codereview.chromium.org/2246933002/diff/40001/build_scheduler/go/db/local_db/local_db.go#newcode199 build_scheduler/go/db/local_db/local_db.go:199: // TODO(benjaminwagner): Make this work. What's not working?
4 years, 4 months ago (2016-08-17 13:51:13 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2246933002/40001
4 years, 4 months ago (2016-08-17 13:52:59 UTC) #22
commit-bot: I haz the power
Committed patchset #3 (id:40001) as https://skia.googlesource.com/buildbot/+/4ca08f07c538b7dd11dbb9ee3a46139d1c7b3203
4 years, 4 months ago (2016-08-17 13:53:18 UTC) #24
dogben
https://codereview.chromium.org/2246933002/diff/40001/build_scheduler/go/db/local_db/local_db.go File build_scheduler/go/db/local_db/local_db.go (right): https://codereview.chromium.org/2246933002/diff/40001/build_scheduler/go/db/local_db/local_db.go#newcode199 build_scheduler/go/db/local_db/local_db.go:199: // TODO(benjaminwagner): Make this work. On 2016/08/17 13:51:13, borenet ...
4 years, 4 months ago (2016-08-17 13:57:58 UTC) #25
borenet
4 years, 4 months ago (2016-08-19 13:34:00 UTC) #26
Message was sent while issue was closed.
On 2016/08/17 13:57:58, Ben Wagner wrote:
>
https://codereview.chromium.org/2246933002/diff/40001/build_scheduler/go/db/l...
> File build_scheduler/go/db/local_db/local_db.go (right):
> 
>
https://codereview.chromium.org/2246933002/diff/40001/build_scheduler/go/db/l...
> build_scheduler/go/db/local_db/local_db.go:199: // TODO(benjaminwagner): Make
> this work.
> On 2016/08/17 13:51:13, borenet wrote:
> > What's not working?
> 
> Actually, it would be great if you can take a look at this. I'm a bit stumped
as
> to why it's not working. I added a Delete method to Counter that just calls
> c.m.Delete(), but I got "Unable to delete unknown metric:
> counter_6e5218a88b3b4da8208da44a3ada65ae". (Counter.Delete also needs to
delete
> from c.m.client.counters, but I didn't get that far.)

Okay, I just created a simple example but was unable to reproduce this failure:

///////////////// counter.go

// Delete removes the counter from metrics.
func (c *Counter) Delete() error {
        c.mtx.Lock()
        defer c.mtx.Unlock()
        c.m.client.countersMtx.Lock()
        defer c.m.client.countersMtx.Unlock()
        delete(c.m.client.counters, c.m.key)
        return c.m.Delete()
}


///////////////// delete_counter.go

package main

import (
        "github.com/skia-dev/glog"
        "go.skia.org/infra/go/common"
        "go.skia.org/infra/go/metrics2"
)

func main() {
        common.Init()
        defer common.LogPanic()

        c := metrics2.GetCounter("my-counter", map[string]string{"my-tag":
"my-val"})
        if err := c.Delete(); err != nil {
                glog.Fatal(err)
        }
}

Powered by Google App Engine
This is Rietveld 408576698