Index: src/test/org/apache/lucene/index/TestIndexWriterReader.java
===================================================================
--- src/test/org/apache/lucene/index/TestIndexWriterReader.java (revision 892224)
+++ src/test/org/apache/lucene/index/TestIndexWriterReader.java (working copy)
@@ -232,7 +232,8 @@
String id10 = r1.document(10).getField("id").stringValue();
- // deleted IW docs should not show up in the next getReader
+ // deleted IW docs should not show up in the next
+ // getReader
writer.deleteDocuments(new Term("id", id10));
IndexReader r2 = writer.getReader();
assertEquals(1, count(new Term("id", id10), r1));
Index: src/java/org/apache/lucene/index/SegmentInfo.java
===================================================================
--- src/java/org/apache/lucene/index/SegmentInfo.java (revision 892224)
+++ src/java/org/apache/lucene/index/SegmentInfo.java (working copy)
@@ -681,7 +681,7 @@
/** {@inheritDoc} */
@Override
public String toString() {
- return toString(dir);
+ return toString(dir, 0);
}
/** Used for debugging. Format may suddenly change.
@@ -695,7 +695,7 @@
* shared doc stores named _1 (this part is
* left off if doc stores are private).
*/
- public String toString(Directory dir) {
+ public String toString(Directory dir, int pendingDelCount) {
StringBuilder s = new StringBuilder();
s.append(name).append(':');
@@ -723,6 +723,9 @@
} catch (IOException ioe) {
delCount = -1;
}
+ if (delCount != -1) {
+ delCount += pendingDelCount;
+ }
if (delCount != 0) {
s.append('/');
if (delCount == -1) {
Index: src/java/org/apache/lucene/index/SegmentReader.java
===================================================================
--- src/java/org/apache/lucene/index/SegmentReader.java (revision 892224)
+++ src/java/org/apache/lucene/index/SegmentReader.java (working copy)
@@ -682,10 +682,10 @@
clone.readOnly = openReadOnly;
clone.si = si;
clone.readBufferSize = readBufferSize;
+ clone.pendingDeleteCount = pendingDeleteCount;
if (!openReadOnly && hasChanges) {
// My pending changes transfer to the new reader
- clone.pendingDeleteCount = pendingDeleteCount;
clone.deletedDocsDirty = deletedDocsDirty;
clone.normsDirty = normsDirty;
clone.hasChanges = hasChanges;
@@ -1201,7 +1201,12 @@
/** {@inheritDoc} */
@Override
public String toString() {
- return si.toString();
+ final StringBuilder buffer = new StringBuilder();
+ if (hasChanges) {
+ buffer.append('*');
+ }
+ buffer.append(si.toString(core.dir, pendingDeleteCount));
+ return buffer.toString();
}
/**
Index: src/java/org/apache/lucene/index/MergePolicy.java
===================================================================
--- src/java/org/apache/lucene/index/MergePolicy.java (revision 892224)
+++ src/java/org/apache/lucene/index/MergePolicy.java (working copy)
@@ -127,7 +127,7 @@
final int numSegments = segments.size();
for(int i=0;i 0) b.append(' ');
- b.append(segments.info(i).toString(dir));
+ b.append(segments.info(i).toString(dir, 0));
}
if (info != null)
b.append(" into ").append(info.name);
Index: src/java/org/apache/lucene/index/SegmentInfos.java
===================================================================
--- src/java/org/apache/lucene/index/SegmentInfos.java (revision 892224)
+++ src/java/org/apache/lucene/index/SegmentInfos.java (working copy)
@@ -876,7 +876,7 @@
buffer.append(' ');
}
final SegmentInfo info = info(i);
- buffer.append(info.toString(directory));
+ buffer.append(info.toString(directory, 0));
}
return buffer.toString();
}
Index: src/java/org/apache/lucene/index/DirectoryReader.java
===================================================================
--- src/java/org/apache/lucene/index/DirectoryReader.java (revision 892224)
+++ src/java/org/apache/lucene/index/DirectoryReader.java (working copy)
@@ -303,7 +303,17 @@
@Override
public String toString() {
final SegmentInfos infos = writer != null ? segmentInfosStart : segmentInfos;
- return "DirectoryReader(" + infos.toString(directory) + ")";
+ final StringBuilder buffer = new StringBuilder();
+ if (hasChanges) {
+ buffer.append("*");
+ }
+ buffer.append(getClass().getSimpleName());
+ buffer.append('(');
+ for(SegmentReader r : subReaders) {
+ buffer.append(r);
+ }
+ buffer.append(')');
+ return buffer.toString();
}
private void initialize(SegmentReader[] subReaders) {
Index: src/java/org/apache/lucene/index/IndexReader.java
===================================================================
--- src/java/org/apache/lucene/index/IndexReader.java (revision 892224)
+++ src/java/org/apache/lucene/index/IndexReader.java (working copy)
@@ -148,13 +148,17 @@
/** {@inheritDoc} */
@Override
public String toString() {
- final StringBuilder buffer = new StringBuilder(getClass().getSimpleName());
+ final StringBuilder buffer = new StringBuilder();
+ if (hasChanges) {
+ buffer.append('*');
+ }
+ buffer.append(getClass().getSimpleName());
buffer.append('(');
final IndexReader[] subReaders = getSequentialSubReaders();
if ((subReaders != null) && (subReaders.length > 0)) {
buffer.append(subReaders[0]);
for (int i = 1; i < subReaders.length; ++i) {
- buffer.append(", ").append(subReaders[i]);
+ buffer.append(" ").append(subReaders[i]);
}
}
buffer.append(')');
Index: src/java/org/apache/lucene/index/IndexWriter.java
===================================================================
--- src/java/org/apache/lucene/index/IndexWriter.java (revision 892224)
+++ src/java/org/apache/lucene/index/IndexWriter.java (working copy)
@@ -4484,7 +4484,7 @@
buffer.append(' ');
}
final SegmentInfo info = infos.info(i);
- buffer.append(info.toString(directory));
+ buffer.append(info.toString(directory, 0));
if (info.dir != directory)
buffer.append("**");
}