@@ -91,7 +91,7 @@ func (ctx *streamContext) Read(blockSize int) bool {
91
91
if ctx .err != nil {
92
92
return false
93
93
}
94
- ctx .ReqBuf , ctx .tailBuf , ctx .err = ReadLinesBlockExt (ctx .br , ctx .ReqBuf , ctx .tailBuf , maxLineSize , blockSize )
94
+ ctx .ReqBuf , ctx .tailBuf , ctx .err = ReadLinesBlockExt (ctx .br , ctx .ReqBuf , ctx .tailBuf , ctx . MaxLineSize , blockSize )
95
95
if ctx .err != nil {
96
96
if ctx .err != io .EOF {
97
97
ctx .err = fmt .Errorf ("cannot read influx line protocol data: %w" , ctx .err )
@@ -111,6 +111,7 @@ type streamContext struct {
111
111
ErrLock sync.Mutex
112
112
UnmarshalErr error // unmarshal points failed, 400 error code
113
113
CallbackErr error
114
+ MaxLineSize int
114
115
}
115
116
116
117
func (ctx * streamContext ) Error () error {
@@ -129,7 +130,7 @@ func (ctx *streamContext) reset() {
129
130
ctx .UnmarshalErr = nil
130
131
}
131
132
132
- func GetStreamContext (r io.Reader ) * streamContext {
133
+ func GetStreamContext (r io.Reader , maxLineSize int ) * streamContext {
133
134
select {
134
135
case ctx := <- streamContextPoolCh :
135
136
ctx .br .Reset (r )
@@ -138,11 +139,12 @@ func GetStreamContext(r io.Reader) *streamContext {
138
139
if v := streamContextPool .Get (); v != nil {
139
140
ctx := v .(* streamContext )
140
141
ctx .br .Reset (r )
142
+ ctx .MaxLineSize = maxLineSize
141
143
return ctx
142
144
}
143
145
return & streamContext {
144
- br : bufio .NewReaderSize (r , 64 * 1024 ),
145
- }
146
+ br : bufio .NewReaderSize (r , 64 * 1024 ),
147
+ MaxLineSize : maxLineSize }
146
148
}
147
149
}
148
150
0 commit comments