This is an automated email from the ASF dual-hosted git repository.
liuhan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git
The following commit(s) were added to refs/heads/main by this push:
new 5444d6d Fully reading buffer and downgrade log level (#197)
5444d6d is described below
commit 5444d6d8269c9cd88a9517f9b7d3f10b87c9e0ea
Author: mrproliu <[email protected]>
AuthorDate: Mon Jun 9 12:01:41 2025 +0800
Fully reading buffer and downgrade log level (#197)
---
pkg/accesslog/collector/protocols/http1.go | 2 +-
.../network/analyze/layer7/protocols/http1/reader/reader.go | 10 ++++++----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/pkg/accesslog/collector/protocols/http1.go
b/pkg/accesslog/collector/protocols/http1.go
index b975d23..8a76a2c 100644
--- a/pkg/accesslog/collector/protocols/http1.go
+++ b/pkg/accesslog/collector/protocols/http1.go
@@ -112,7 +112,7 @@ func (p *HTTP1Protocol) Analyze(connection
*PartitionConnection, _ *AnalyzeHelpe
result = enums.ParseResultSkipPackage
}
if err != nil {
- http1Log.Warnf("failed to handle HTTP/1.x protocol,
connection ID: %d, random ID: %d, data id: %d, type: %d, error: %v",
+ http1Log.Debugf("failed to handle HTTP/1.x protocol,
connection ID: %d, random ID: %d, data id: %d, type: %d, error: %v",
metrics.ConnectionID, metrics.RandomID,
buf.Position().DataID(), messageType, err)
}
diff --git
a/pkg/profiling/task/network/analyze/layer7/protocols/http1/reader/reader.go
b/pkg/profiling/task/network/analyze/layer7/protocols/http1/reader/reader.go
index 6b4fb2a..f5100fb 100644
--- a/pkg/profiling/task/network/analyze/layer7/protocols/http1/reader/reader.go
+++ b/pkg/profiling/task/network/analyze/layer7/protocols/http1/reader/reader.go
@@ -20,6 +20,7 @@ package reader
import (
"bufio"
"compress/gzip"
+ "errors"
"fmt"
"io"
"mime"
@@ -275,15 +276,16 @@ func (m *MessageOpt) checkBodyWithSize(buf
*buffer.Buffer, reader *bufio.Reader,
if readSize > len(m.Reader().bodyBuffer) {
readSize = len(m.Reader().bodyBuffer)
}
- lastReadSize, err =
reader.Read(m.Reader().bodyBuffer[0:readSize])
+ lastReadSize, err = io.ReadFull(reader,
m.Reader().bodyBuffer[0:readSize])
if err != nil {
- if err == buffer.ErrNotComplete {
+ if errors.Is(err, buffer.ErrNotComplete) {
return nil, enums.ParseResultSkipPackage, nil
}
- if err == io.EOF && reduceSize-lastReadSize <= 0 {
+ if (err == io.EOF || errors.Is(err,
io.ErrUnexpectedEOF)) && reduceSize-lastReadSize <= 0 {
return nil, enums.ParseResultSuccess, nil
}
- return nil, enums.ParseResultSkipPackage, err
+
+ return nil, enums.ParseResultSkipPackage,
fmt.Errorf("reading the body error: %v", err)
}
reduceSize -= lastReadSize
}