Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

receive: Fixed leak on receive and querier proxying Store API Series, which was leaking on errors. #2866

Merged
merged 5 commits into from
Jul 9, 2020

Commits on Jul 9, 2020

  1. receive: Fixed leak on receive and querier proxying Store API Series,…

    … which was leaking on errors.
    
    Fixes: #2823
    
    TestTenantSeriesSetServert_NotLeakingIfNotExhausted was showing leaks:
    
    ```
        TestTenantSeriesSetServert_NotLeakingIfNotExhausted/cancelled,_not_exhausted_StoreSet: leaktest.go:132: leaktest: timed out checking goroutines
        TestTenantSeriesSetServert_NotLeakingIfNotExhausted/cancelled,_not_exhausted_StoreSet: leaktest.go:150: leaktest: leaked goroutine: goroutine 84 [chan send]:
            github.com/thanos-io/thanos/pkg/store.(*tenantSeriesSetServer).Send(0xc000708360, 0xc0003104c0, 0x0, 0x0)
            	/home/bwplotka/Repos/thanos/pkg/store/multitsdb.go:141 +0x13e
            github.com/thanos-io/thanos/pkg/store.(*mockedStoreServer).Series(0xc0004e6330, 0xc0007083c0, 0x20ac2c0, 0xc000708360, 0x5116a0, 0x0)
            	/home/bwplotka/Repos/thanos/pkg/store/multitsdb_test.go:173 +0x76
            github.com/thanos-io/thanos/pkg/store.(*tenantSeriesSetServer).Series.func1(0x2097760, 0xc00003c940)
            	/home/bwplotka/Repos/thanos/pkg/store/multitsdb.go:121 +0x56
            github.com/thanos-io/thanos/pkg/tracing.DoInSpan(0x2097760, 0xc00003c940, 0x1c8bace, 0x17, 0xc000173760, 0x0, 0x0, 0x0)
            	/home/bwplotka/Repos/thanos/pkg/tracing/tracing.go:72 +0xcc
            github.com/thanos-io/thanos/pkg/store.(*tenantSeriesSetServer).Series(0xc000708360, 0x20983e0, 0xc0004e6330, 0xc0007083c0)
            	/home/bwplotka/Repos/thanos/pkg/store/multitsdb.go:120 +0xfa
            github.com/thanos-io/thanos/pkg/store.TestTenantSeriesSetServert_NotLeakingIfNotExhausted.func2.1(0xc000708360, 0xc0004e6330)
            	/home/bwplotka/Repos/thanos/pkg/store/multitsdb_test.go:225 +0x62
            created by github.com/thanos-io/thanos/pkg/store.TestTenantSeriesSetServert_NotLeakingIfNotExhausted.func2
            	/home/bwplotka/Repos/thanos/pkg/store/multitsdb_test.go:224 +0x618
        --- FAIL: TestTenantSeriesSetServert_NotLeakingIfNotExhausted/cancelled,_not_exhausted_StoreSet (10.03s)
    FAIL
    
    Process finished with exit code 1
    
    ```
    
    TestMultiTSDBStore_NotLeakingOnPrematureFinish was showing:
    
    ```
    TestMultiTSDBStore_NotLeakingOnSendError: leaktest.go:150: leaktest: leaked goroutine: goroutine 84 [chan send]:
            github.com/thanos-io/thanos/pkg/store.ctxRespSender.send(...)
            	/home/bwplotka/Repos/thanos/pkg/store/proxy.go:198
            github.com/thanos-io/thanos/pkg/store.(*MultiTSDBStore).Series.func1(0x0, 0x0)
            	/home/bwplotka/Repos/thanos/pkg/store/multitsdb.go:214 +0x5cf
            golang.org/x/sync/errgroup.(*Group).Go.func1(0xc0002708d0, 0xc000416380)
            	/home/bwplotka/Repos/thanosgopath/pkg/mod/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a/errgroup/errgroup.go:57 +0x59
            created by golang.org/x/sync/errgroup.(*Group).Go
            	/home/bwplotka/Repos/thanosgopath/pkg/mod/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a/errgroup/errgroup.go:54 +0x66
    --- FAIL: TestMultiTSDBStore_NotLeakingOnSendError (10.02s)
    ```
    
    Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
    bwplotka committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    0062d9d View commit details
    Browse the repository at this point in the history
  2. Quick fix for leaks.

    Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
    bwplotka committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    e3a0510 View commit details
    Browse the repository at this point in the history
  3. Fixed issues found by lint.

    Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
    bwplotka committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    f51776a View commit details
    Browse the repository at this point in the history
  4. Get back copying.

    Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
    bwplotka committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    b902c37 View commit details
    Browse the repository at this point in the history
  5. Lint

    Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
    bwplotka committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    547003d View commit details
    Browse the repository at this point in the history