Caideyipi opened a new pull request, #18318:
URL: https://github.com/apache/iotdb/pull/18318

   ## Description
   
   The pipe receiver periodically reduces repeated statement exception logs, 
but the current reducer key contains the receiver id, the full statement 
logging string, and the exception message. For high-cardinality insert traffic, 
these fields make otherwise identical failures unique and allow stack traces to 
flood the log.
   
   This PR:
   
   - reduces statement exceptions by statement class, root-cause class, and the 
root cause's first stack frame;
   - ignores receiver ids, statement payloads, and dynamic exception messages 
in the reducer key, while keeping different failure locations independently 
visible;
   - adds a compact Pipe logging string for `InsertRowsStatement` that reports 
the row count and first/last row summaries without serializing all row values.
   
   The underlying statement exception or NPE is intentionally unchanged; this 
PR only prevents repeated failures from producing unbounded logs and bounds the 
size of the remaining `InsertRowsStatement` entries.
   
   ## Tests
   
   - `mvn spotless:apply -pl iotdb-core/datanode`
   - `mvn test -pl iotdb-core/datanode -Dtest=IoTDBDataNodeReceiverTest`
   - `mvn test-compile -pl iotdb-core/datanode -P with-zh-locale -DskipTests`
   - verified English and Chinese `DataNodePipeMessages` key parity
   
   This PR has:
   - [x] been self-reviewed.
   - [x] added comments explaining the intent of the reducer key.
   - [x] added or updated unit tests for the new behavior.
   
   ---
   
   ##### Key changed/added classes
   
   - `IoTDBDataNodeReceiver`
   - `InsertRowsStatement`
   - `IoTDBDataNodeReceiverTest`
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to