6
6
"strconv"
7
7
"strings"
8
8
"testing"
9
+ "time"
9
10
10
11
"github.com/davecgh/go-spew/spew"
11
12
)
@@ -17,8 +18,13 @@ var recordBatchTestCases = []struct {
17
18
oldGoEncoded []byte // used in case of gzipped content for go versions prior to 1.8
18
19
}{
19
20
{
20
- name : "empty record" ,
21
- batch : RecordBatch {Version : 2 , Records : []* Record {}},
21
+ name : "empty record" ,
22
+ batch : RecordBatch {
23
+ Version : 2 ,
24
+ FirstTimestamp : time .Unix (0 , 0 ),
25
+ MaxTimestamp : time .Unix (0 , 0 ),
26
+ Records : []* Record {},
27
+ },
22
28
encoded : []byte {
23
29
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // First Offset
24
30
0 , 0 , 0 , 49 , // Length
@@ -36,8 +42,14 @@ var recordBatchTestCases = []struct {
36
42
},
37
43
},
38
44
{
39
- name : "control batch" ,
40
- batch : RecordBatch {Version : 2 , Control : true , Records : []* Record {}},
45
+ name : "control batch" ,
46
+ batch : RecordBatch {
47
+ Version : 2 ,
48
+ Control : true ,
49
+ FirstTimestamp : time .Unix (0 , 0 ),
50
+ MaxTimestamp : time .Unix (0 , 0 ),
51
+ Records : []* Record {},
52
+ },
41
53
encoded : []byte {
42
54
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // First Offset
43
55
0 , 0 , 0 , 49 , // Length
@@ -58,9 +70,10 @@ var recordBatchTestCases = []struct {
58
70
name : "uncompressed record" ,
59
71
batch : RecordBatch {
60
72
Version : 2 ,
61
- FirstTimestamp : 10 ,
73
+ FirstTimestamp : time .Unix (1479847795 , 0 ),
74
+ MaxTimestamp : time .Unix (0 , 0 ),
62
75
Records : []* Record {{
63
- TimestampDelta : 5 ,
76
+ TimestampDelta : 5 * time . Millisecond ,
64
77
Key : []byte {1 , 2 , 3 , 4 },
65
78
Value : []byte {5 , 6 , 7 },
66
79
Headers : []* RecordHeader {{
@@ -74,10 +87,10 @@ var recordBatchTestCases = []struct {
74
87
0 , 0 , 0 , 70 , // Length
75
88
0 , 0 , 0 , 0 , // Partition Leader Epoch
76
89
2 , // Version
77
- 219 , 71 , 20 , 201 , // CRC
90
+ 84 , 121 , 97 , 253 , // CRC
78
91
0 , 0 , // Attributes
79
92
0 , 0 , 0 , 0 , // Last Offset Delta
80
- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 10 , // First Timestamp
93
+ 0 , 0 , 1 , 88 , 141 , 205 , 89 , 56 , // First Timestamp
81
94
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Max Timestamp
82
95
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Producer ID
83
96
0 , 0 , // Producer Epoch
@@ -103,9 +116,10 @@ var recordBatchTestCases = []struct {
103
116
batch : RecordBatch {
104
117
Version : 2 ,
105
118
Codec : CompressionGZIP ,
106
- FirstTimestamp : 10 ,
119
+ FirstTimestamp : time .Unix (1479847795 , 0 ),
120
+ MaxTimestamp : time .Unix (0 , 0 ),
107
121
Records : []* Record {{
108
- TimestampDelta : 5 ,
122
+ TimestampDelta : 5 * time . Millisecond ,
109
123
Key : []byte {1 , 2 , 3 , 4 },
110
124
Value : []byte {5 , 6 , 7 },
111
125
Headers : []* RecordHeader {{
@@ -118,11 +132,11 @@ var recordBatchTestCases = []struct {
118
132
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // First Offset
119
133
0 , 0 , 0 , 94 , // Length
120
134
0 , 0 , 0 , 0 , // Partition Leader Epoch
121
- 2 , // Version
122
- 15 , 156 , 184 , 78 , // CRC
135
+ 2 , // Version
136
+ 159 , 236 , 182 , 189 , // CRC
123
137
0 , 1 , // Attributes
124
138
0 , 0 , 0 , 0 , // Last Offset Delta
125
- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 10 , // First Timestamp
139
+ 0 , 0 , 1 , 88 , 141 , 205 , 89 , 56 , // First Timestamp
126
140
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Max Timestamp
127
141
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Producer ID
128
142
0 , 0 , // Producer Epoch
@@ -136,10 +150,10 @@ var recordBatchTestCases = []struct {
136
150
0 , 0 , 0 , 94 , // Length
137
151
0 , 0 , 0 , 0 , // Partition Leader Epoch
138
152
2 , // Version
139
- 144 , 168 , 0 , 33 , // CRC
153
+ 0 , 216 , 14 , 210 , // CRC
140
154
0 , 1 , // Attributes
141
155
0 , 0 , 0 , 0 , // Last Offset Delta
142
- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 10 , // First Timestamp
156
+ 0 , 0 , 1 , 88 , 141 , 205 , 89 , 56 , // First Timestamp
143
157
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Max Timestamp
144
158
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Producer ID
145
159
0 , 0 , // Producer Epoch
@@ -154,9 +168,10 @@ var recordBatchTestCases = []struct {
154
168
batch : RecordBatch {
155
169
Version : 2 ,
156
170
Codec : CompressionSnappy ,
157
- FirstTimestamp : 10 ,
171
+ FirstTimestamp : time .Unix (1479847795 , 0 ),
172
+ MaxTimestamp : time .Unix (0 , 0 ),
158
173
Records : []* Record {{
159
- TimestampDelta : 5 ,
174
+ TimestampDelta : 5 * time . Millisecond ,
160
175
Key : []byte {1 , 2 , 3 , 4 },
161
176
Value : []byte {5 , 6 , 7 },
162
177
Headers : []* RecordHeader {{
@@ -169,11 +184,11 @@ var recordBatchTestCases = []struct {
169
184
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // First Offset
170
185
0 , 0 , 0 , 72 , // Length
171
186
0 , 0 , 0 , 0 , // Partition Leader Epoch
172
- 2 , // Version
173
- 95 , 173 , 35 , 17 , // CRC
187
+ 2 , // Version
188
+ 21 , 0 , 159 , 97 , // CRC
174
189
0 , 2 , // Attributes
175
190
0 , 0 , 0 , 0 , // Last Offset Delta
176
- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 10 , // First Timestamp
191
+ 0 , 0 , 1 , 88 , 141 , 205 , 89 , 56 , // First Timestamp
177
192
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Max Timestamp
178
193
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Producer ID
179
194
0 , 0 , // Producer Epoch
@@ -187,9 +202,10 @@ var recordBatchTestCases = []struct {
187
202
batch : RecordBatch {
188
203
Version : 2 ,
189
204
Codec : CompressionLZ4 ,
190
- FirstTimestamp : 10 ,
205
+ FirstTimestamp : time .Unix (1479847795 , 0 ),
206
+ MaxTimestamp : time .Unix (0 , 0 ),
191
207
Records : []* Record {{
192
- TimestampDelta : 5 ,
208
+ TimestampDelta : 5 * time . Millisecond ,
193
209
Key : []byte {1 , 2 , 3 , 4 },
194
210
Value : []byte {5 , 6 , 7 },
195
211
Headers : []* RecordHeader {{
@@ -202,11 +218,11 @@ var recordBatchTestCases = []struct {
202
218
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // First Offset
203
219
0 , 0 , 0 , 89 , // Length
204
220
0 , 0 , 0 , 0 , // Partition Leader Epoch
205
- 2 , // Version
206
- 129 , 238 , 43 , 82 , // CRC
221
+ 2 , // Version
222
+ 169 , 74 , 119 , 197 , // CRC
207
223
0 , 3 , // Attributes
208
224
0 , 0 , 0 , 0 , // Last Offset Delta
209
- 0 , 0 , 0 , 0 , 0 , 0 , 0 , 10 , // First Timestamp
225
+ 0 , 0 , 1 , 88 , 141 , 205 , 89 , 56 , // First Timestamp
210
226
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Max Timestamp
211
227
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , // Producer ID
212
228
0 , 0 , // Producer Epoch
0 commit comments