рдХрд╛рдлреНрдХрд╛ рдХреИрд╕реЗ рд╣рдХреАрдХрдд рдмрди рдЧрдпрд╛

рдХрд╛рдлреНрдХрд╛ рдХреИрд╕реЗ рд╣рдХреАрдХрдд рдмрди рдЧрдпрд╛

рд╣реЗ рд╣рдмрд░!

рдореИрдВ рдЯрд┐рдВрдХреЙрдл рдЯреАрдо рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗрдВрджреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реНрдкреНрд░рд┐рдВрдЧ рдмреВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рднрд┐рдиреНрди рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реВрдВред

рд╣рдорд╛рд░реА рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдПрдХ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддреА рд╣реИрдВред рдкрд╣рд▓реЗ, рд╣рдо рдмреНрд░реЛрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдИрдмреАрдПрдо рдПрдордХреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗ, рдЬреЛ рдЕрдм рд▓реЛрдб рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдЪреНрдЪ рдбрд┐рд▓реАрд╡рд░реА рдЧрд╛рд░рдВрдЯреА рднреА рдереАред

рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдХрд╛рдлреНрдХрд╛ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЧрдИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдЪреНрдЪ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╡реНрдпрдХреНрддрд┐рдЧрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рдлреНрдХрд╛ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рд╡рд┐рддрд░рдг рддрдВрддреНрд░ рдмреЙрдХреНрд╕ рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЖрдЧреЗ, рдореИрдВ рдХрд╛рдлреНрдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдареАрдХ рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд░рд╣реЗрдВред

рдЧрд╛рд░рдВрдЯреАрд╢реБрджрд╛ рдбрд┐рд▓реАрд╡рд░реА рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ

рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд░реЛрдХрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреАред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдореИрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдбрд┐рдмрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рдпреЗ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧрд╛ рдЧреНрд░рд╛рд╣рдХ ID рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП. рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╛рдо рдХреЛ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╡рд╣ рд╕реНрдерд┐рддрд┐ рдЬрдм рдХреЛрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдИ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА client.id рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдЪреЗрддрд╛рд╡рдиреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ:

org.apache.kafka.common.utils.AppInfoParser тАФ Error registering AppInfo mbean javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=kafka.test-0

рдпрджрд┐ рдЖрдк рдХрд╛рдлреНрдХрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬреЗрдПрдордПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ.рдЖрдИрдбреА рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╛рдо рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╖рдп рдирд╛рдо рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд╛рдлреНрдХрд╛-рдЙрдкрднреЛрдХреНрддрд╛-рд╕рдореВрд╣ рдХрдВрдлреНрд▓реБрдПрдВрдЯ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╕реЗ:

рдХрд╛рдлреНрдХрд╛ рдХреИрд╕реЗ рд╣рдХреАрдХрдд рдмрди рдЧрдпрд╛

рдЕрдм рдЖрдЗрдП рдЧрд╛рд░рдВрдЯреАрдХреГрдд рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рдг рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рдирдЬрд░ рдбрд╛рд▓реЗрдВред рдХрд╛рдлреНрдХрд╛ рдкреНрд░реЛрдбреНрдпреВрд╕рд░ рдХрд╛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ Acks, рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╕реНрдЯрд░ рд▓реАрдбрд░ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓рд┐рдЦреЗ рдЧрдП рд╕рдВрджреЗрд╢ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреА рд╕реНрд╡реАрдХреГрддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:

  • 0- рдкрд╛рд╡рддреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • 1 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 1 рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • тИТ1 - рд╕рднреА рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдкреНрд░рддрд┐рдХреГрддрд┐рдпреЛрдВ рд╕реЗ рд╕реНрд╡реАрдХреГрддрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк min.insync.рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ).

рд╕реВрдЪреАрдмрджреНрдз рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ -1 рдХреЗ рдмрд░рд╛рдмрд░ рдПрд╕реАрдПрд╕ рд╕рдмрд╕реЗ рдордЬрдмреВрдд рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдЦреЛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИрдВред рдХреНрд╖рдгрд┐рдХ рджреЛрд╖реЛрдВ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рдлреНрдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдкреБрдирд░реНрдкреНрд░рдпрд╛рд╕, рдЬреЛ рдЖрдкрдХреЛ рдкреБрдирдГ рднреЗрдЬрдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдбрд┐рд▓реАрд╡рд░реА.рдЯрд╛рдЗрдордЖрдЙрдЯ.рдПрдордПрд╕. рдЪреВрдБрдХрд┐ рдкреБрдирд░реНрдкреНрд░рдпрд╛рд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди Integer.MAX_VALUE (2147483647) рд╣реИ, рд╕рдВрджреЗрд╢ рдкреБрдирд░реНрдкреНрд░рдпрд╛рд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреЗрд╡рд▓ рдбрд┐рд▓реАрд╡рд░реА.рдЯрд╛рдЗрдордЖрдЙрдЯ.рдПрдордПрд╕ рдХреЛ рдмрджрд▓рдХрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ

рд╕реВрдЪреАрдмрджреНрдз рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣рдорд╛рд░реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдЙрдЪреНрдЪ рдЧрд╛рд░рдВрдЯреА рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред рдЖрдЗрдП рдЕрдм рдмрд╛рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдХрд┐ рдХрд┐рд╕реА рд╕рдВрджреЗрд╢ рдХреА рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рддрд┐ рдХрд╛рдлреНрдХрд╛ рд╡рд┐рд╖рдп рдкрд░ рд▓рд┐рдЦреА рдЬрд╛рдП? рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ Enable.idempotence рд╕рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП. рдЗрдбреЗрдореНрдкреЛрдЯреЗрдВрд╕реА рдЧрд╛рд░рдВрдЯреА рджреЗрддреА рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╖рдп рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдкреВрд░реНрд╡ рд╢рд░реНрдд рдореВрд▓реНрдп рд╣реИрдВ acks = рд╕рднреА, рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ > 0, max.in.flight.requests.per.connection тЙд 5. рдпрджрд┐ рдпреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдЙрдкрд░реЛрдХреНрдд рдорд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред

рдЬрдм рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╕рдорд╛рди рд╕рдВрджреЗрд╢ рд╣рд░ рдмрд╛рд░ рд╕рдорд╛рди рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдВред рдпрд╣ рдкрд╛рд░реНрдЯреАрд╢рдирд░.рдХреНрд▓рд╛рд╕ рдХреБрдВрдЬреА рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкреНрд░реЛрдбреНрдпреВрд╕рд░ рдкрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЪрд▓рд┐рдП рдХреБрдВрдЬреА рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╕рдмрдорд┐рд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдореВрд▓ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╛рд░реНрдЯреАрд╢рдирд░.рдХреНрд▓рд╛рд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИ - рдбрд┐рдлрд╝реЙрд▓реНрдЯрд╡рд┐рднрд╛рдЬрдирдХрд░реНрддрд╛. рдЗрд╕ рд╡рд┐рднрд╛рдЬрди рд░рдгрдиреАрддрд┐ рдХреЗ рд╕рд╛рде, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ:

  • рдпрджрд┐ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╕рдордп рд╡рд┐рднрд╛рдЬрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
  • рдпрджрд┐ рд╡рд┐рднрд╛рдЬрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рддреЛ рдХреБрдВрдЬреА рдХреЗ рд╣реИрд╢ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
  • рдпрджрд┐ рд╡рд┐рднрд╛рдЬрди рдФрд░ рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЪреБрдиреЗрдВ (рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдХреНрд░рд┐рдп рднреЗрдЬрдирд╛ max.in.flight.requests.per.connection = 1 рдЖрдкрдХреЛ рдЙрдкрднреЛрдХреНрддрд╛ рдкрд░ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рднреА рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╖рдп рдкрд░ рдмрд┐рдирд╛ рд╕реЛрдЪреЗ-рд╕рдордЭреЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдпрджрд┐ рдЕрдЪрд╛рдирдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдХрдореА рд╣реИ рдпрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдкрдХреНрд╖ рдХреЗ рддрд░реНрдХ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╕реНрдерд┐рд░рддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд▓реЗрдирджреЗрди рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд▓реЗрдирджреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрд╛рдлреНрдХрд╛ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рдеред рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рд▓реЗрди-рджреЗрди рднреЗрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП transactional.id. рдпрджрд┐ рдЖрдкрдХреЗ рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдПрдХ рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рдирд▓ рд░рд┐рдХреЙрд░реНрдб, рдПрдХ рдЖрдЗрдбреЗрдореНрдкреЛрдЯреЗрдВрдЯ рд░рд┐рдХреЙрд░реНрдб рдХреА рддрд░рд╣, рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ transactional.id рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рд╕реНрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЬреИрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╛рдо, рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЗрдирджреЗрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХрдИ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдПрдХ рд╣реА transactional.id рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд░реЛрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рдлреНрдХрд╛ рдЗрд╕реЗ рдПрдХ рдЬрд╝реЛрдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рдиреЗрдЧрд╛ред

org.apache.kafka.common.errors.ProducerFencedException: Producer attempted an operation with an old epoch. Either there is a newer producer with the same transactionalId, or the producer's transaction has been expired by the broker.

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╣реЛрд╕реНрдЯрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╛рдо рдореЗрдВ рдПрдХ рдкреНрд░рддреНрдпрдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдирд┐рд░реНрдорд╛рддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдлреНрдХрд╛ рдкрд░ рд▓реЗрдирджреЗрди рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрди-рджреЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕рдВрджреЗрд╢ рддреБрд░рдВрдд рд╡рд┐рд╖рдп рдкрд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВред

рдРрд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЙрдкрднреЛрдХреНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдкрдврд╝рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЕрд▓рдЧрд╛рд╡.рд╕реНрддрд░ read_committed рдорд╛рди рдХреЗ рд▓рд┐рдПред рдРрд╕рд╛ рдЙрдкрднреЛрдХреНрддрд╛ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдЧреИрд░-рд▓реЗрди-рджреЗрди рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдФрд░ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рдмрд╛рдж рд╣реА рд▓реЗрди-рджреЗрди рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝ рд╕рдХреЗрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗрдЯ рдХреА рд╣реИрдВ, рддреЛ рдЖрдкрдиреЗ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рдареАрдХ рдмрд╛рдж рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред рдмрдзрд╛рдИ рд╣реЛ!

рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИ. Transactional.id, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдКрдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЗрдирджреЗрди рдЙрдкрд╕рд░реНрдЧ рд╣реИред рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рди рдореИрдиреЗрдЬрд░ рдкрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИред рдкреНрд░рд╛рдкреНрдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ transactional.id.expiration.ms, рдЬреЛ рдХрд╛рдлреНрдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди "7 рджрд┐рди" рд╣реИред рдпрджрд┐ рдЗрд╕ рджреМрд░рд╛рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рддреЛ рдЬрдм рдЖрдк рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рддреЛ рдЕрдЧрд▓рд╛ рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рдирд▓ рд╕рдВрджреЗрд╢ рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ рдЕрдорд╛рдиреНрдпPidMappingException. рдЗрд╕рдХреЗ рдмрд╛рдж рд▓реЗрдирджреЗрди рд╕рдордиреНрд╡рдпрдХ рдЕрдЧрд▓реЗ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдЬрд╛рд░реА рдХрд░реЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ InvalidPidMappingException рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрджреЗрд╢ рдЦреЛ рд╕рдХрддрд╛ рд╣реИред

рдпреЛрдЧ рдХреЗ рдмрдЬрд╛рдп

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдХрд╛рдлреНрдХрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рддреНрд╡рд░рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдмрд╛рд░ рдбрд┐рд▓реАрд╡рд░реА рд╕реЗрдЯрдЕрдк рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ client.id рдФрд░ transactional.id рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╡рд╛рд▓реА рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдиреАрдЪреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рд░реНрдорд╛рддрд╛:

  1. рдЕрдХреНрд╕ = рд╕рднреА
  2. рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ > 0
  3. Enable.idempotence = рд╕рддреНрдп
  4. max.in.flight.requests.per.connection тЙд 5 (рд╡реНрдпрд╡рд╕реНрдерд┐рдд рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП 1)
  5. transactional.id = ${рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рдирд╛рдо}-${рд╣реЛрд╕реНрдЯрдирд╛рдо}

рдЙрдкрднреЛрдХреНрддрд╛:

  1. рдЖрдЗрд╕реЛрд▓реЗрд╢рди.рд▓реЗрд╡рд▓ = read_committed

рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд░реИрдкрд░ рдмрдирд╛рдпрд╛, рдЬрд╣рд╛рдВ рдХреБрдЫ рд╕реВрдЪреАрдмрджреНрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЗрдЯ рд╣реИрдВред

рдпрд╣рд╛рдВ рд╕реНрд╡-рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рджреА рдЧрдИ рд╣реИрдВ:

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ