Skip to content

Commit e7fb5f2

Browse files
committed
Revert "Fix"
This reverts commit eccc376.
1 parent ae0cee4 commit e7fb5f2

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

server/src/main/java/org/elasticsearch/index/translog/TranslogHeaderWriter.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,19 @@ public static void writeIndexHeader(RecyclerBytesStreamOutput buffer, Translog.I
4040
int uidVIntLen = RecyclerBytesStreamOutput.vIntLength(uidLen);
4141
BytesRef page = buffer.tryGetPageForWrite(FIXED_INDEX_HEADER_SIZE + uidLen + uidVIntLen);
4242
if (page != null) {
43-
writeFastIndexHeader(buffer, index, page, uidVIntLen);
43+
writeFastIndexHeader(buffer, index, page, uidLen, uidVIntLen);
4444
} else {
4545
writeSlowIndexHeader(buffer, index);
4646
}
4747
}
4848

49-
private static void writeFastIndexHeader(RecyclerBytesStreamOutput buffer, Translog.Index index, BytesRef page, int uidVIntLen)
50-
throws IOException {
49+
private static void writeFastIndexHeader(
50+
RecyclerBytesStreamOutput buffer,
51+
Translog.Index index,
52+
BytesRef page,
53+
int uidLen,
54+
int uidVIntLen
55+
) throws IOException {
5156
BytesRef uid = index.uid();
5257
String routing = index.routing();
5358

@@ -62,7 +67,7 @@ private static void writeFastIndexHeader(RecyclerBytesStreamOutput buffer, Trans
6267
ByteUtils.writeLongBE(index.primaryTerm(), bytes, off + 30);
6368
StreamOutput.putVInt(bytes, uid.length, off + 38);
6469
System.arraycopy(uid.bytes, uid.offset, bytes, off + 38 + uidVIntLen, uid.length);
65-
bytes[off + 38 + uidVIntLen + uid.length] = index.routing() == null ? (byte) 0 : (byte) 1;
70+
bytes[off + 38 + uidVIntLen + uidLen] = index.routing() == null ? (byte) 0 : (byte) 1;
6671

6772
long variableLengthStart = buffer.position();
6873
// Write variable length items in header
@@ -95,19 +100,15 @@ private static void writeSlowIndexHeader(RecyclerBytesStreamOutput buffer, Trans
95100
}
96101

97102
public static void writeDeleteHeader(RecyclerBytesStreamOutput buffer, Translog.Delete delete) throws IOException {
98-
int uidLen = delete.uid().length;
99-
int uidVIntLen = RecyclerBytesStreamOutput.vIntLength(uidLen);
100-
BytesRef page = buffer.tryGetPageForWrite(FIXED_DELETE_HEADER_SIZE + uidLen + uidVIntLen);
103+
BytesRef page = buffer.tryGetPageForWrite(FIXED_DELETE_HEADER_SIZE);
101104
if (page != null) {
102-
writeFastDeleteHeader(delete, page, uidVIntLen);
105+
writeFastDeleteHeader(buffer, delete, page);
103106
} else {
104107
writeSlowDeleteHeader(buffer, delete);
105108
}
106109
}
107110

108-
private static void writeFastDeleteHeader(Translog.Delete delete, BytesRef page, int uidVIntLen) throws IOException {
109-
BytesRef uid = delete.uid();
110-
111+
private static void writeFastDeleteHeader(RecyclerBytesStreamOutput buffer, Translog.Delete delete, BytesRef page) throws IOException {
111112
int off = page.offset;
112113
byte[] bytes = page.bytes;
113114
bytes[off + 4] = Translog.Operation.Type.DELETE.id();
@@ -116,11 +117,13 @@ private static void writeFastDeleteHeader(Translog.Delete delete, BytesRef page,
116117
ByteUtils.writeLongBE(delete.version(), bytes, off + 6);
117118
ByteUtils.writeLongBE(delete.seqNo(), bytes, off + 14);
118119
ByteUtils.writeLongBE(delete.primaryTerm(), bytes, off + 22);
119-
StreamOutput.putVInt(bytes, uid.length, off + 30);
120-
System.arraycopy(uid.bytes, uid.offset, bytes, off + 30 + uidVIntLen, uid.length);
121120

121+
long variableLengthStart = buffer.position();
122+
// Write variable length items in header
123+
buffer.writeBytesRef(delete.uid());
124+
int variableLengthSize = (int) (buffer.position() - variableLengthStart);
122125
// The total operation size is the header size + 4 bytes for checksum
123-
int sizeOfOperation = FIXED_DELETE_HEADER_SIZE - Integer.BYTES + uidVIntLen + uid.length + Integer.BYTES;
126+
int sizeOfOperation = FIXED_DELETE_HEADER_SIZE - Integer.BYTES + variableLengthSize + Integer.BYTES;
124127
ByteUtils.writeIntBE(sizeOfOperation, bytes, off);
125128
}
126129

0 commit comments

Comments
 (0)