semistone commented on issue #22601:
URL: https://github.com/apache/pulsar/issues/22601#issuecomment-2116971327
@lhotari
I am checking when that byteBuf become wrong data
and in
OpAddEntry.java
I verify data when construct this object and save original data
and during run(), I try to compare and print bytebuf
```
if (ml.hasActiveCursors()) {
// Avoid caching entries if no cursor has been created
EntryImpl entry = EntryImpl.create(ledgerId, entryId, data);
// ======= print log when data go wrong
if (!Commands.hasChecksum(data)) {
log.warn("no checksum in OpAddEntry1 origin {} data {}, now
{} data {}", dataString,
new String(Base64.encodeBase64(orgData))
, data.toString(), new
String(Base64.encodeBase64(entry.getData())));
}
```
it show
```
2024-05-17T07:29:16,476+0000 [BookKeeperClientWorker-OrderedExecutor-12-0]
WARN org.apache.bookkeeper.mledger.impl.OpAddEntry - no checksum in
OpAddEntry1
origin PooledSlicedByteBuf(ridx: 13, widx: 2066, cap: 2066/2066, unwrapped:
PooledUnsafeDirectByteBuf(ridx: 24211, widx: 24211, cap: 32768))
data
DgEJYVBqAAAAKwoMaHlicmlkLTQ0MC0wEI8cGPTz0av4MTILLTEyMDM1NzAyOTNI0A+IAQAxMjM0NTY3ODkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwO...
skip
,now PooledSlicedByteBuf(ridx: 13, widx: 2066, cap: 2066/2066, unwrapped:
PooledUnsafeDirectByteBuf(ridx: 24211, widx: 24211, cap: 32768))
data
MzY5NDY5NTY5NjY5NzY5ODY5OTcwMDcwMTcwMjcw0av4MTILLTEyMDM1NzAyOTNI0A+IAQAxMjM0NTY3ODkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OT
... skip
```
the bytebuf object haven't changed, but the data in bytebuf have changed.
it seem like the first few bytes(about 20) will be overwrited and rest of
the data is still ok
and it's PooledSlicedByteBuf and PooledUnsafeDirectByteBuf
do you have any idea how to find who change the data inside bytebuf ?
--
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]