[ 
https://issues.apache.org/jira/browse/KAFKA-9636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17058813#comment-17058813
 ] 

John Roesler commented on KAFKA-9636:
-------------------------------------

Hi [~psnively] ,

 

I'm sorry to hear that; I certainly wish you the best of luck in your project!

Regarding the current issue, I think there's something strange happening in 
your serializer. In the Foreign-Key Join implementation, we expected 
serializers to produce the same sequence of bytes given the same input. I guess 
it's worth asking if that is actually a good assumption. This is the only place 
in the codebase where we make it. I can certainly alter the implementation to 
avoid this assumption, but it's pretty nice the way it is now.

 

I've added a bunch of printlns to Streams to diagnose the issue, so let me walk 
you through what I'm seeing for a test that fails:

 
{code:java}
# Here's the original left-hand-side value:
send LHS: {
  "搧豰" : {
    "璍눣劉㒕ꤞꌝ엧閹꒓꼆" : "Ꮲ蛢ㆥ",
    "딾煚曷" : 0E530,
    "ﯚ桵觔" : "䇕兊苩㄁ᆔ휴嚅"
  },
  "ui" : "obc"
}

# Here's the result of serializing that value
send LHS: [6, 2, 2, -25, -112, 1, -16, 49, 2, 6, 3, 10, -51, -46, 1, -29, -56, 
2, -55, 74, 1, -107, -46, -34, -92, 2, -35, -116, 2, -25, 23, 3, -7, 86, 2, 
-45, -110, 2, -58, -68, 2, 4, 3, -94, 79, -30, 27, 2, -91, -58, 4, -2, -44, 2, 
-38, -59, 1, -20, -99, 3, -9, -101, 1, 3, 5, 48, 69, 53, 51, 48, 3, -38, -17, 
3, -11, -95, 1, -44, 39, 2, 4, 8, -43, 7, 1, -54, 69, 1, -23, 11, 2, -127, -60, 
-108, 70, -12, 92, 3, -30, -115, 3, -59, 90, 1, 2, 117, 105, 4, 3, 111, 98, 99, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

# At the end of the test, we look up the left-hand-side value again, and this 
is what we see (Confluence isn't printing unicode, but it's apparently the same)
resolver LHS: {
  "搧豰" : {
    "璍눣劉㒕ꤞꌝ엧閹꒓꼆" : "Ꮲ蛢ㆥ",
    "딾煚曷" : 0E530,
    "ﯚ桵觔" : "䇕兊苩㄁ᆔ휴嚅"
  },
  "ui" : "obc"
}

# We need to serialize it again, to compare it for equality with the original 
LHS value above.
# NOTE: although the LHS value is apparently the same, the serializer produces 
something different this time. It looks like the beginning is the same, but 
there's garbage at the end.
resolver LHS serialized: [6, 2, 2, -25, -112, 1, -16, 49, 2, 6, 3, 10, -51, 
-46, 1, -29, -56, 2, -55, 74, 1, -107, -46, -34, -92, 2, -35, -116, 2, -25, 23, 
3, -7, 86, 2, -45, -110, 2, -58, -68, 2, 4, 3, -94, 79, -30, 27, 2, -91, -58, 
4, -2, -44, 2, -38, -59, 1, -20, -99, 3, -9, -101, 1, 3, 5, 48, 69, 53, 51, 48, 
3, -38, -17, 3, -11, -95, 1, -44, 39, 2, 4, 8, -43, 7, 1, -54, 69, 1, -23, 11, 
2, -127, -60, -108, 70, -12, 92, 3, -30, -115, 3, -59, 90, 1, 2, 117, 105, 4, 
3, 111, 98, 99, 55, 57, 54, 54, 53, 48, 56, 55, 48, 56, 56, 55, 52, 50, 56, 57, 
49, 57, 51, 48, 49, 54, 50, 56, 51, 50, 101, 45, 51, 50, 4, -40, -126, 2, -4, 
-75, 1, -53, 98, 2, -88, 98, 1, 1, -58, -109, 3, 0, 8, -30, 78, 1, -123, -90, 
-4, 15, 3, -39, 13, 2, -35, -33, 3, -1, -108, 2, -72, -66, -32, -79, 1, 0, 5, 
-53, -108, 2, -91, -45, -23, 100, 1, -44, -47, 2, -22, -63, 2, 3, 19, 55, 55, 
57, 52, 56, 49, 55, 55, 53, 50, 49, 52, 52, 54, 48, 51, 48, 50, 52, 6, -24, 74, 
1, -51, -88, 3, -60, 124, 1, -19, -14, 3, -122, 87, -48, -4, 2, 0, 4, 4, -28, 
77, 2, -84, 112, -19, 67, 1, -40, 32, 3, 5, 5, 4, 7, -35, -9, 2, -61, -108, 3, 
-58, -126, 2, -35, -22, 2, -40, 54, 1, -30, -45, 3, -29, -1, 3, 3, 20, 45, 57, 
50, 50, 51, 51, 55, 50, 48, 51, 54, 56, 53, 52, 55, 55, 53, 56, 48, 56, 3, 5, 
48, 46, 57, 57, 55, 0, 3, 24, 45, 55, 49, 50, 57, 54, 53, 56, 57, 57, 57, 49, 
52, 48, 53, 56, 50, 52, 51, 54, 52, 55, 56, 51, 6, 9, 3, -105, -79, -15, 88, 2, 
-120, 124, 0, 9, -16, 25, 3, -15, 111, 2, -44, 74, 1, -17, -120, 2, -86, 18, 
-4, 55, 2, -19, 45, 1, -106, -13, -68, -98, 3, 13, 45, 50, 52, 57, 57, 56, 51, 
55, 49, 51, 48, 55, 53, 7, -44, -118, 3, -24, -60, 1, -85, 97, -69, -94, -66, 
90, -94, 109, -74, 83, 0, 7, -33, 19, 3, -73, -119, -43, 53, 1, -35, -16, 3, 
-61, 118, 2, -29, 119, 1, -12, -90, 1, 0, 10, -76, 42, -78, -57, -93, 125, -39, 
-109, 2, -50, -50, 2, -127, 4, -47, -74, 3, -53, 87, 1, -26, 55, 2, -39, -40, 
1, 3, 19, 55, 54, 49, 49, 56, 55, 50, 54, 48, 55, 52, 53, 48, 49, 50, 57, 57, 
57, 50, 8, -26, 58, 3, -16, -5, 2, -25, 30, 3, -3, -110, 2, -38, -111, 3, -47, 
-84, 2, -38, -125, 3, -53, -124, 1, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

# Just for kicks, I round-tripped it again, so this is what we get if we 
DEserialize the last serial form (still apparently the same)
resolver LHS re-de-serialized: {
  "搧豰" : {
    "璍눣劉㒕ꤞꌝ엧閹꒓꼆" : "Ꮲ蛢ㆥ",
    "딾煚曷" : 0E530,
    "ﯚ桵觔" : "䇕兊苩㄁ᆔ휴嚅"
  },
  "ui" : "obc"
}

# One last time, I serialized the round-tripped-deserialized data, and I get 
the same prefix, but even more garbage at the end:
resolver LHS re-re-serialized: [6, 2, 2, -25, -112, 1, -16, 49, 2, 6, 3, 10, 
-51, -46, 1, -29, -56, 2, -55, 74, 1, -107, -46, -34, -92, 2, -35, -116, 2, 
-25, 23, 3, -7, 86, 2, -45, -110, 2, -58, -68, 2, 4, 3, -94, 79, -30, 27, 2, 
-91, -58, 4, -2, -44, 2, -38, -59, 1, -20, -99, 3, -9, -101, 1, 3, 5, 48, 69, 
53, 51, 48, 3, -38, -17, 3, -11, -95, 1, -44, 39, 2, 4, 8, -43, 7, 1, -54, 69, 
1, -23, 11, 2, -127, -60, -108, 70, -12, 92, 3, -30, -115, 3, -59, 90, 1, 2, 
117, 105, 4, 3, 111, 98, 99, 50, 54, 52, 50, 51, 50, 57, 56, 50, 51, 50, 49, 
54, 48, 49, 52, 6, 3, 2, -96, -90, -44, 52, 2, 1, 2, -85, -93, -53, 103, 1, 3, 
13, 50, 50, 53, 49, 101, 50, 57, 48, 49, 56, 50, 55, 50, 9, -16, -14, 3, -38, 
-40, 3, -60, 29, 1, -33, -116, 2, -23, -3, 2, -48, -8, 1, -26, -29, 1, -24, 
-12, 1, -126, 57, 4, 0, 1, -95, -98, 6, 10, 8, -23, -115, 2, -21, -85, 2, -6, 
-93, 3, -54, -125, 3, -53, 6, 1, -65, -102, -14, -44, 3, -42, 35, 3, 5, 9, 1, 
2, 4, 5, -26, 61, 3, -37, -64, 3, -21, 7, 1, -62, -104, 3, -33, -82, 1, 1, 3, 
2, 45, 56, 4, 9, -121, 59, -60, 75, 2, -16, -80, 1, -28, 42, 2, -51, -95, 3, 
-1, -52, 3, -19, -37, 2, -52, 6, 2, -66, -37, 4, 3, -12, 55, 1, -11, -93, 2, 
-47, -49, 3, 4, 2, -111, 35, -43, -1, 3, 2, 8, -96, -16, -9, 13, 1, -1, -12, 1, 
-114, -62, -15, -27, 2, -41, 126, 2, -17, 1, 3, -72, 122, 0, 7, -16, 53, 1, 
-56, 66, 2, -60, 127, 2, -126, 125, -10, 65, 3, -70, 68, -10, 94, 2, 1, 4, -49, 
-103, 1, -24, -14, 3, -58, -95, 1, -37, 86, 3, 5, 6, 2, 3, 19, 54, 49, 51, 56, 
49, 50, 54, 48, 55, 55, 48, 56, 51, 57, 52, 51, 57, 53, 56, 3, 4, 48, 101, 43, 
50, 3, 3, 45, 53, 53, 0, 4, 6, -37, 38, 2, -62, -25, 2, -67, 94, -16, -55, 2, 
-19, 20, 2, -7, -50, 1, 7, -43, -67, 1, -60, 70, 2, -31, -45, 2, -14, -86, 2, 
-37, 92, 1, -121, -93, -4, 72, 1, 1, 6, -82, 95, -91, -61, -18, 96, 1, -40, 54, 
1, -22, -64, 3, -103, -47, 4, 7, -39, -21, 1, -104, 57, -9, 124, 1, -10, -119, 
3, -19, -42, 3, -63, -83, 2, -41, 118, 1, 2, -99, 95, -43, -50, 3, 6, 5, 0, 3, 
2, 45, 52, 4, -42, -68, 2, -20, -126, 2, -30, 9, 1, -118, 71, 0, 5, -13, -115, 
3, -93, -20, -54, 56, 2, -60, -85, 1, -2, -123, 2, 3, 27, 45, 50, 48, 53, 48, 
53, 51, 56, 50, 46, 53, 48, 49, 50, 48, 69, 45, 55, 48, 51, 55, 51, 55, 56, 54, 
51, 56, 7, -21, -88, 3, -83, -53, -48, 12, 1, -8, 13, 2, -59, -4, 3, -67, 21, 
-29, 75, 2, 3, 11, 45, 50, 49, 52, 55, 52, 56, 51, 54, 52, 57, 1, -41, 80, 2, 
0, 8, -61, 31, 1, -9, -7, 3, -54, -72, 1, -9, -38, 2, -90, 68, -74, 95, -87, 
-107, -6, -60, 1, 0, 4, -8, -69, 2, -86, -128, -93, 50, -40, 59, 3, 3, 2, 45, 
49, 8, -50, -41, 1, -20, 56, 2, -48, 76, 1, -34, 12, 3, -15, 16, 3, -32, 66, 3, 
-9, -111, 1, -81, -65, 0, 9, -115, 62, -29, 101, 1, -84, 36, -11, -68, 2, -15, 
-124, 2, -9, 9, 2, -9, -68, 2, -25, 83, 1, -53, 63, 3, 2, 10, -110, 49, -36, 
29, 3, -95, 70, -55, 69, 2, -52, 121, 1, -36, 117, 1, -72, -18, -117, 95, -38, 
124, 1, -29, 11, 1, 6, 9, 0, 6, 2, 0, 6, 1, 10, -43, -55, 1, -17, -87, 3, -58, 
-43, 2, -70, 23, -15, 97, 2, -8, -42, 3, -58, 94, 1, -106, 33, -14, 50, 1, -36, 
-83, 1, 3, 3, 54, 53, 55, 5, -53, 86, 2, -52, 64, 3, -119, -92, -13, -34, 1, 
-37, 93, 1, 5, 2, 3, 1, 48, 1, 3, -61, 89, 3, -19, 81, 1, -61, 7, 3, 4, 5, -15, 
126, 2, -39, -52, 3, -28, -18, 3, -12, 82, 1, -104, -13, 1, -94, 32, 3, 13, 45, 
53, 46, 54, 50, 50, 54, 50, 52, 69, 45, 49, 52, 1, -25, 32, 3, 6, 1, 9, -96, 
-55, -66, -113, -101, 100, -49, -46, 3, -28, 120, 2, -26, 92, 2, -41, 93, 2, 
-3, -84, 3, -2, -6, 1, 1, 4, -102, -32, -18, -114, 2, -64, -85, 3, -43, -59, 3, 
0, 2, -122, -46, -1, -38, 2, 0, 7, -63, 82, 1, -15, -72, 3, -22, 31, 2, -34, 7, 
3, -76, -1, -61, 30, 2, -113, -52, 6, 7, 0, 6, 7, 0, 2, 1, -61, 66, 1, 4, 2, 
-21, 8, 2, -5, 86, 2, 7, -105, 34, -59, 56, 1, -90, -114, -106, 58, -121, -76, 
-9, 125, 2, -56, -115, 2, 0, 6, -46, 94, 2, -9, 25, 1, -48, 13, 1, -34, 41, 2, 
-1, 47, 1, -45, -19, 1, 2, 10, -66, -43, -27, 3, 1, -51, 100, 2, -96, 109, -83, 
-117, -38, 103, 1, -26, 21, 1, -31, -94, 2, -57, 19, 3, -78, -100, 3, 4, 45, 
55, 57, 55, 4, -116, 75, -72, -95, -63, -4, 1, -43, 35, 3, 0, 8, -118, -102, 
-8, -121, 1, -10, 33, 1, -66, 15, -4, -19, 2, -21, 81, 1, -115, -125, -9, 18, 
2, 4, 0, 4, -29, -32, 1, -122, 109, -115, -120, -101, 106, 0, 5, -58, -89, 2, 
-103, -118, -59, 32, 2, -38, -15, 3, -34, 89, 1, 4, 0, 3, -38, 70, 1, -40, -48, 
1, -108, 9, 5, 7, 1, 3, 19, 50, 56, 57, 50, 55, 49, 52, 50, 49, 56, 48, 51, 57, 
53, 56, 55, 54, 55, 52, 1, 4, 0, 2, 4, 7, -16, 81, 3, -102, -17, -47, 59, 1, 
-7, -34, 2, -21, -14, 1, -43, -73, 1, -110, -92, 3, 19, 55, 55, 49, 54, 53, 50, 
53, 56, 54, 52, 48, 56, 54, 54, 50, 51, 52, 50, 53, 5, -17, -5, 2, -19, 87, 1, 
-121, -113, -64, 13, 2, -26, -100, 1, 0, 4, -7, -46, 3, -25, 45, 1, -90, 19, 
-61, -67, 2, 5, 5, 2, 3, 41, 45, 57, 46, 54, 50, 56, 54, 53, 52, 54, 57, 52, 
51, 51, 56, 48, 48, 51, 48, 57, 53, 56, 54, 48, 57, 49, 51, 52, 54, 49, 50, 50, 
56, 55, 55, 49, 69, 45, 49, 57, 54, 0, 1, 1, 10, -20, -68, 2, -61, -116, 2, 
-22, -112, 1, -64, 8, 2, -13, 38, 2, -21, 48, 3, -107, 49, -12, -40, 3, -88, 4, 
-56, -8, 2, 5, 10, 4, 4, -20, 29, 2, -29, 28, 2, -22, 106, 1, -47, 27, 3, 1, 3, 
10, 50, 49, 52, 55, 52, 56, 51, 54, 52, 56, 0, 1, 2, 0, 4, 3, -20, -99, 3, -15, 
71, 2, -18, -53, 2, 3, 13, 45, 53, 51, 51, 54, 56, 49, 54, 50, 55, 54, 54, 55, 
4, 2, -62, 93, 1, -57, 79, 1, 10, -50, -15, 2, -63, -119, 2, -103, -98, -75, 
-47, -4, -7, 1, -108, 106, -30, -34, 3, -2, -68, 2, -41, 40, 1, -82, 20, 0, 6, 
-36, -90, 1, -22, -19, 1, -98, 51, -36, 41, 3, -4, -68, 3, -34, 107, 2, 0, 7, 
-82, -33, -75, 73, -17, -124, 1, -64, -100, 2, -46, -1, 1, -21, -9, 1, -47, 4, 
2, 4, 6, -82, 44, -61, -7, 2, -18, 117, 2, -116, 121, -54, 45, 3, -7, 15, 2, 4, 
-115, -77, -121, 7, -11, 0, 2, -50, -25, 1, 0, 1, -82, -99, 0, 8, -4, -36, 2, 
-108, -48, -10, 83, 2, -65, 102, -91, -97, -26, 115, 2, -48, -91, 1, -5, -46, 
3, 4, 0, 10, -60, 52, 2, -61, -36, 1, -23, 54, 1, -13, 80, 3, -19, 32, 1, -39, 
-91, 1, -9, 20, 1, -67, 37, -59, -105, 3, -8, 25, 2, 3, 14, 48, 46, 51, 101, 
52, 49, 55, 49, 55, 55, 49, 53, 53, 52, 2, -25, 1, 2, -31, 33, 3, 4, 9, -28, 
-101, 3, -49, -54, 3, -21, 62, 1, -43, 40, 2, -117, -69, -7, 122, 2, -50, -20, 
3, -3, 62, 2, -14, -51, 1, 6, -10, 97, 1, -20, 94, 2, -3, 32, 1, -19, -24, 1, 
12, -41, -79, 3, 3, 13, 50, 46, 57, 49, 57, 55, 48, 48, 69, 43, 49, 48, 57, 9, 
-49, 39, 3, -20, 124, 2, -63, -118, 3, -58, -42, 1, -31, 27, 3, -35, 110, 1, 
-19, -85, 3, -62, -65, 2, -2, 56, 1, 4, 6, -19, 60, 3, -6, -48, 3, -101, 30, 
-6, 73, 1, -19, -90, 3, -30, 59, 3, 6, -86, 18, -38, 32, 2, -99, 83, -40, 81, 
1, -14, -67, 2, -41, -89, 3, 3, 11, 57, 46, 53, 50, 48, 55, 52, 69, 45, 49, 54, 
3, -62, -45, 3, -1, -91, 2, -53, 12, 2, 6, 2, 10, -126, -86, -31, -113, 2, 
-116, 15, -79, 26, -35, -25, 2, -6, -68, 1, -32, -12, 1, -6, 95, 1, -99, 30, 
-59, -107, 3, 6, 2, 1, -60, -54, 3, 1, 6, -111, -50, -28, -52, 3, -84, 87, -59, 
-103, 2, -29, -119, 2, -55, -104, 1, 5, 7, 3, 19, 57, 50, 50, 51, 51, 55, 50, 
48, 51, 54, 56, 53, 52, 55, 55, 53, 56, 48, 55, 5, 3, 0, 3, 16, 45, 50, 49, 52, 
55, 52, 56, 51, 54, 52, 57, 101, 45, 49, 51, 56, 0, 5, 8, 4, 7, -56, -73, 2, 
-15, -115, 2, -54, 72, 3, -52, 83, 2, -100, 55, -55, -112, 1, -13, 82, 3, 4, 7, 
-5, 59, 3, -43, -11, 2, -61, -125, 2, -88, 115, -28, 28, 1, -11, -21, 3, -40, 
-79, 2, 2, 1, 0, 2, 0, 4, 9, -69, 48, -39, 88, 2, -33, 124, 2, -38, -22, 2, 
-10, -27, 2, -84, -115, -66, 7, -16, -34, 2, -95, 123, 0, 2, 4, 2, -22, -126, 
3, -39, -55, 2, 0, 2, -59, 22, 1, -16, 24, 3, 2, 5, -9, 13, 3, -14, -128, 3, 
-105, 43, -48, -14, 3, -58, -122, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0]

{code}
It looks to me like your serializer is reusing a byte buffer for different 
values, but it's not properly bounding the result when it returns the byte 
array. As a consequence, we see garbage after the end of the serialized value. 
Plus, it looks like when you round-trip, it winds up thinking that it needs 
more and more memory allocated to the byte array.

Although it may indeed not be good to assume that serializers always produce 
the same output given the same input, the behavior we observe here looks like a 
seriously flawed serde.

As a consequence, I'm tempted to call this issue not a Streams bug. What do you 
think?

-John

 

> Simple join of two KTables fails
> --------------------------------
>
>                 Key: KAFKA-9636
>                 URL: https://issues.apache.org/jira/browse/KAFKA-9636
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.4.1
>            Reporter: Paul Snively
>            Assignee: John Roesler
>            Priority: Major
>         Attachments: merge_issue.zip
>
>
> Attempting to join two KTables yields a `Topology` that, when tested with 
> `TopologyTestDriver` by adding records to the two `TestInputTopic`s, results 
> in an empty `TestOutputTopic`.
> I'm attaching a very small reproduction. The code is in Scala. The project is 
> therefore an "sbt" project. You can reproduce the results from your shell 
> with `sbt test`. The failure output will include the `describe` of the 
> `Topology` in question.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to