Skip to content

Commit 0b25e34

Browse files
fpetkovskisaswatamcode
authored andcommitted
Capnp: Use segment from existing message (thanos-io#7945)
* Capnp: Use segment from existing message Signed-off-by: Filip Petkovski <[email protected]> * Downgrade capnproto Signed-off-by: Filip Petkovski <[email protected]> --------- Signed-off-by: Filip Petkovski <[email protected]> Signed-off-by: Saswata Mukherjee <[email protected]>
1 parent 750e6ff commit 0b25e34

File tree

4 files changed

+24
-34
lines changed

4 files changed

+24
-34
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ require (
112112
)
113113

114114
require (
115-
capnproto.org/go/capnp/v3 v3.0.1-alpha.2.0.20240830165715-46ccd63a72af
115+
capnproto.org/go/capnp/v3 v3.0.0-alpha.30
116116
github.com/cortexproject/promqlsmith v0.0.0-20240506042652-6cfdd9739a5e
117117
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1
118118
github.com/hashicorp/golang-lru/v2 v2.0.7
@@ -133,7 +133,6 @@ require (
133133
github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect
134134
github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 // indirect
135135
github.com/cilium/ebpf v0.11.0 // indirect
136-
github.com/colega/zeropool v0.0.0-20230505084239-6fb4a4f75381 // indirect
137136
github.com/containerd/cgroups/v3 v3.0.3 // indirect
138137
github.com/docker/go-units v0.5.0 // indirect
139138
github.com/elastic/go-licenser v0.3.1 // indirect
@@ -167,6 +166,7 @@ require (
167166
k8s.io/client-go v0.31.0 // indirect
168167
k8s.io/klog/v2 v2.130.1 // indirect
169168
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
169+
zenhack.net/go/util v0.0.0-20230414204917-531d38494cf5 // indirect
170170
)
171171

172172
require (

go.sum

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
capnproto.org/go/capnp/v3 v3.0.1-alpha.2.0.20240830165715-46ccd63a72af h1:A5wxH0ZidOtYYUGjhtBaRuB87M73bGfc06uWB8sHpg0=
2-
capnproto.org/go/capnp/v3 v3.0.1-alpha.2.0.20240830165715-46ccd63a72af/go.mod h1:2vT5D2dtG8sJGEoEKU17e+j7shdaYp1Myl8X03B3hmc=
1+
capnproto.org/go/capnp/v3 v3.0.0-alpha.30 h1:iABQan/YiHFCgSXym5aNj27osapnEgAk4WaWYqb4sQM=
2+
capnproto.org/go/capnp/v3 v3.0.0-alpha.30/go.mod h1:+ysMHvOh1EWNOyorxJWs1omhRFiDoKxKkWQACp54jKM=
33
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
44
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
55
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
@@ -1500,8 +1500,6 @@ github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq
15001500
github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b h1:ga8SEFjZ60pxLcmhnThWgvH2wg8376yUJmPhEH4H3kw=
15011501
github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
15021502
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
1503-
github.com/colega/zeropool v0.0.0-20230505084239-6fb4a4f75381 h1:d5EKgQfRQvO97jnISfR89AiCCCJMwMFoSxUiU0OGCRU=
1504-
github.com/colega/zeropool v0.0.0-20230505084239-6fb4a4f75381/go.mod h1:OU76gHeRo8xrzGJU3F3I1CqX1ekM8dfJw0+wPeMwnp0=
15051503
github.com/containerd/cgroups/v3 v3.0.3 h1:S5ByHZ/h9PMe5IOQoN7E+nMc2UcLEM/V48DGDJ9kip0=
15061504
github.com/containerd/cgroups/v3 v3.0.3/go.mod h1:8HBe7V3aWGLFPd/k03swSIsGjZhHI2WzJmticMgVuz0=
15071505
github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
@@ -2106,8 +2104,8 @@ github.com/ovh/go-ovh v1.6.0 h1:ixLOwxQdzYDx296sXcgS35TOPEahJkpjMGtzPadCjQI=
21062104
github.com/ovh/go-ovh v1.6.0/go.mod h1:cTVDnl94z4tl8pP1uZ/8jlVxntjSIf09bNcQ5TJSC7c=
21072105
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0=
21082106
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y=
2109-
github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw=
2110-
github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0=
2107+
github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ=
2108+
github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
21112109
github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY=
21122110
github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
21132111
github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI=
@@ -2263,10 +2261,8 @@ github.com/thanos-io/promql-engine v0.0.0-20241106100125-097e6e9f425a h1:BhWU58V
22632261
github.com/thanos-io/promql-engine v0.0.0-20241106100125-097e6e9f425a/go.mod h1:wx0JlRZtsB2S10JYUgeg5GqLfMxw31SzArP+28yyE00=
22642262
github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab h1:7ZR3hmisBWw77ZpO1/o86g+JV3VKlk3d48jopJxzTjU=
22652263
github.com/themihai/gomemcache v0.0.0-20180902122335-24332e2d58ab/go.mod h1:eheTFp954zcWZXCU8d0AT76ftsQOTo4DTqkN/h3k1MY=
2266-
github.com/tinylib/msgp v1.1.9 h1:SHf3yoO2sGA0veCJeCBYLHuttAVFHGm2RHgNodW7wQU=
2267-
github.com/tinylib/msgp v1.1.9/go.mod h1:BCXGB54lDD8qUEPmiG0cQQUANC4IUQyB2ItS2UDlO/k=
2268-
github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk=
2269-
github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pvk=
2264+
github.com/tinylib/msgp v1.1.5 h1:2gXmtWueD2HefZHQe1QOy9HVzmFrLOVvsXwXBQ0ayy0=
2265+
github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg=
22702266
github.com/tklauser/go-sysconf v0.3.4/go.mod h1:Cl2c8ZRWfHD5IrfHo9VN+FX9kCFjIOyVklgXycLB6ek=
22712267
github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw=
22722268
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
@@ -3337,3 +3333,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+s
33373333
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
33383334
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
33393335
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
3336+
zenhack.net/go/util v0.0.0-20230414204917-531d38494cf5 h1:yksDCGMVzyn3vlyf0GZ3huiF5FFaMGQpQ3UJvR0EoGA=
3337+
zenhack.net/go/util v0.0.0-20230414204917-531d38494cf5/go.mod h1:1LtNdPAs8WH+BTcQiZAOo2MIKD/5jyK/u7sZ9ZPe5SE=

pkg/receive/writecapnp/client.go

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,9 @@ func (r *RemoteWriteClient) writeWithReconnect(ctx context.Context, numReconnect
6969
if err := r.connect(ctx); err != nil {
7070
return nil, err
7171
}
72-
arena := capnp.SingleSegment(nil)
73-
defer arena.Release()
7472

7573
result, release := r.writer.Write(ctx, func(params Writer_write_Params) error {
76-
_, seg, err := capnp.NewMessage(arena)
77-
if err != nil {
78-
return err
79-
}
80-
wr, err := NewRootWriteRequest(seg)
81-
if err != nil {
82-
return err
83-
}
84-
if err := params.SetWr(wr); err != nil {
85-
return err
86-
}
87-
wr, err = params.Wr()
74+
wr, err := params.NewWr()
8875
if err != nil {
8976
return err
9077
}

pkg/receive/writecapnp/marshal.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ package writecapnp
66
import (
77
"capnproto.org/go/capnp/v3"
88

9+
"github.com/pkg/errors"
10+
911
"github.com/thanos-io/thanos/pkg/store/labelpb"
1012
"github.com/thanos-io/thanos/pkg/store/storepb/prompb"
1113
)
@@ -46,7 +48,7 @@ func Build(tenant string, tsreq []prompb.TimeSeries) (WriteRequest, error) {
4648

4749
func BuildInto(wr WriteRequest, tenant string, tsreq []prompb.TimeSeries) error {
4850
if err := wr.SetTenant(tenant); err != nil {
49-
return err
51+
return errors.Wrap(err, "set tenant")
5052
}
5153

5254
series, err := wr.NewTimeSeries(int32(len(tsreq)))
@@ -59,27 +61,30 @@ func BuildInto(wr WriteRequest, tenant string, tsreq []prompb.TimeSeries) error
5961

6062
lblsc, err := tsc.NewLabels(int32(len(ts.Labels)))
6163
if err != nil {
62-
return err
64+
return errors.Wrap(err, "new labels")
6365
}
6466
if err := marshalLabels(lblsc, ts.Labels, builder); err != nil {
65-
return err
67+
return errors.Wrap(err, "marshal labels")
6668
}
6769
if err := marshalSamples(tsc, ts.Samples); err != nil {
68-
return err
70+
return errors.Wrap(err, "marshal samples")
6971
}
7072
if err := marshalHistograms(tsc, ts.Histograms); err != nil {
71-
return err
73+
return errors.Wrap(err, "marshal histograms")
7274
}
7375
if err := marshalExemplars(tsc, ts.Exemplars, builder); err != nil {
74-
return err
76+
return errors.Wrap(err, "marshal exemplars")
7577
}
7678
}
7779

7880
symbols, err := wr.NewSymbols()
7981
if err != nil {
80-
return err
82+
return errors.Wrap(err, "new symbols")
8183
}
82-
return marshalSymbols(builder, symbols)
84+
if err := marshalSymbols(builder, symbols); err != nil {
85+
return errors.Wrap(err, "marshal symbols")
86+
}
87+
return nil
8388
}
8489

8590
func marshalSymbols(builder *symbolsBuilder, symbols Symbols) error {

0 commit comments

Comments
 (0)