Author: mduerig
Date: Tue Aug  8 08:17:43 2017
New Revision: 1804379

URL: http://svn.apache.org/viewvc?rev=1804379&view=rev
Log:
OAK-6452: IllegalStateException: too much data for a segment during oak-upgrade 
from segment to segment-tar
Improved logging

Modified:
    
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java

Modified: 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java?rev=1804379&r1=1804378&r2=1804379&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentBufferWriter.java
 Tue Aug  8 08:17:43 2017
@@ -303,7 +303,9 @@ public class SegmentBufferWriter impleme
             int totalLength = align(HEADER_SIZE + referencedSegmentIdCount * 
SEGMENT_REFERENCE_SIZE + recordNumberCount * RECORD_SIZE + length, 16);
 
             if (totalLength > buffer.length) {
-                throw new IllegalStateException("too much data for a segment");
+                throw new IllegalStateException(String.format(
+                        "Too much data for a segment %s 
(referencedSegmentIdCount=%d, recordNumberCount=%d, length=%d, totalLength=%d)",
+                        segment.getSegmentId(), referencedSegmentIdCount, 
recordNumberCount, length, totalLength));
             }
 
             statistics.size = length = totalLength;
@@ -404,6 +406,8 @@ public class SegmentBufferWriter impleme
         }
 
         if (segmentSize > buffer.length) {
+            LOG.debug("Flushing full segment {} (headerSize={}, recordSize={}, 
length={}, segmentSize={})",
+                    segment.getSegmentId(), headerSize, recordSize, length, 
segmentSize);
             flush(store);
         }
 


Reply via email to