Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-8056

Debezium is unable to capture schema changes for a specific table (db.tb) resulting in the error

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • None
    • False
    • None
    • False
    • Important

      문제 보고서를 최대한 활용 가능하게 만들기 위해 문제 유형에 따라 다음 정보를 제공해 주세요.

      버그 리포트

      버그를 보고하려면 다음 정보를 제공해 주세요.

      어떤 Debezium 커넥터를 사용하시나요? 그리고 버전은 무엇인가요?

      <당신의 답변> 2.7.0

      커넥터 구성은 어떻게 되나요?

      <당신의 답변> 
      {
      "이름": "mysql-debezium-커넥터",
      "구성":

      { "커넥터.클래스": "io.debezium.connector.mysql.MySqlConnector", "데이터베이스.호스트 이름": "로컬 호스트", "데이터베이스.포트":"3306", "데이터베이스.사용자":"db", "데이터베이스.비밀번호":"pw", "데이터베이스.서버.아이디":"1", "데이터베이스.서버.이름":"db_server", "데이터베이스.include.list":"dbName", "테이블.include.list":"db.tb", "데이터베이스.역사.카프카.부트스트랩.서버":"로컬호스트:9092", "데이터베이스.역사.카프카.주제":"tb_역사", "스키마.히스토리.내부": "io.debezium.스토리지.파일.히스토리.파일스키마히스토리", "스키마.히스토리.내부.파일.파일 이름":"/Users/bighwang/Documents/workspace/MungMo/kafka_2.13-3.7.0/connect/storage/schemahistory.dat", "주제.접두사":"주제 이름", "include.schema.changes":"참", "primary.key.mode":"레코드_키", "primary.key.fields":"pk_id", "자동 리더 재균형 활성화": "참", "변환": "풀다", "transforms.unwrap.type":"io.debezium.transforms.ExtractNewRecordState", "주제.생성.기본.복제.인자":1, "주제.생성.기본.파티션":1, "스냅샷.모드":"초기", "키.변환기": "io.confluent.connect.avro.AvroConverter", "키.컨버터.스키마.레지스트리.url":"http://localhost:8081", "값.변환기": "io.confluent.connect.avro.AvroConverter", "값.변환기.스키마.레지스트리.url":"http://localhost:8081", "키.컨버터.스키마.활성화":"참", "value.converter.schemas.enable":"참" }

      }

      캡처된 데이터베이스 버전과 배포 모드는 무엇입니까?

      (예: 온프레미스, 특정 클라우드 공급자 등)

      <당신의 답변> mysql 8.3

      어떤 행동을 기대하시나요?

      <당신의 답변> 
      스키마를 찾거나 오류가 발생했습니다

      어떤 행동을 보셨나요?

      <당신의 답변>

      [2024-07-12 20:22:10,662] 오류 [mysql-debezium-connector|task-0] 변경 이벤트 'Event{header=EventHeaderV4

      {timestamp=1720783330000, eventType=TABLE_MAP, serverId=1, headerLength=19, dataLength=89, nextPosition=4904, flags=0}

      , data=TableMapEventData{tableId=479, database='mungmomember', table='oauth_login', columnTypes=3, 18, 8, 18, 8, 15, 15, 15, 15, 15, 15, 15, 15, -2, -2, columnMetadata=0, 6, 0, 6, 0, 765, 765, 765, 765, 765, 765, 765, 765, 765, 765, 63233, 63233, columnNullability=

      {1, 3, 4, 6, 8, 9, 11, 12, 13, 14, 15}

      , eventMetadata=TableMapEventMetadata{signedness={}, defaultCharset=33, charsetCollations=null, columnCharsets=null, columnNames=null, setStrValues=null, enumStrValues=null, geometryTypes=null, simplePrimaryKeys=null, primaryKeysWithPrefix=null, enumAndSetDefaultCharset=null, enumAndSetColumnCharsets=null, visibility=null}}}'가 오프셋에 있습니다. {ts_sec=1720783313, file=mysql-bin.000003, pos=4702, server_id=1, event=1} 스키마가 이 커넥터에 알려지지 않은 테이블 mungmomember.oauth_login에 대한 것입니다. 가능한 원인 중 하나는 불완전한 데이터베이스 스키마 기록 주제입니다. 이 경우 새 스냅샷을 만드십시오.

      mysqlbinlog 도구를 사용하여 문제가 있는 이벤트를 확인하세요: mysqlbinlog --start-position=4796 --stop-position=4904 --verbose mysql-bin.000003 (io.debezium.connector.binlog.BinlogStreamingChangeEventSource:979)

      [2024-07-12 20:22:10,662] 오류 [mysql-debezium-connector|task-0] binlog 처리 중 오류. 마지막으로 저장된 오프셋 = {ts_sec=1720783313, file=mysql-bin.000003, pos=4702, server_id=1, event=1}, binlog reader 근처 위치 = mysql-bin.000003/4796 (io.debezium.connector.binlog.BinlogStreamingChangeEventSource:1145)

      [2024-07-12 20:22:10,663] 오류 [mysql-debezium-connector|task-0] 프로듀서 실패(io.debezium.pipeline.ErrorHandler:52)

      io.debezium.DebeziumException: binlog 이벤트 처리 오류

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:579)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$17(BinlogStreamingChangeEventSource.java:209)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1268)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1094)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:653)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:954)에서

      java.base/java.lang.Thread.run(Thread.java:840)에서

      원인: io.debezium.DebeziumException: 이 커넥터에서 스키마를 알 수 없는 mungmomember.oauth_login 테이블에 대한 변경 이벤트가 발생했습니다.

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:984)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:1036)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleUpdateTableMetadata(BinlogStreamingChangeEventSource.java:785)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$4(BinlogStreamingChangeEventSource.java:178)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:559)에서

      ... 6개 더

      [2024-07-12 20:22:10,663] INFO [mysql-debezium-connector|task-0] binlog 이벤트 처리 중 오류가 발생하여 Kafka Connect로 전파되어 이 커넥터가 중지됩니다. 커넥터가 종료되기 전에 읽은 향후 binlog 이벤트는 무시됩니다. (io.debezium.connector.binlog.BinlogStreamingChangeEventSource:584)

      [2024-07-12 20:22:11,079] 오류 [mysql-debezium-connector|task-0] WorkerSourceTask{id=mysql-debezium-connector-0} 작업이 포착되지 않고 복구할 수 없는 예외를 발생시켰습니다. 작업이 종료되고 수동으로 다시 시작할 때까지 복구되지 않습니다(org.apache.kafka.connect.runtime.WorkerTask:212)

      org.apache.kafka.connect.errors.ConnectException: 변경 이벤트 프로듀서에서 예외가 발생했습니다. 이 커넥터는 중지됩니다.

      io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:67)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:579)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$17(BinlogStreamingChangeEventSource.java:209)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1268)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1094)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:653)에서

      com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:954)에서

      java.base/java.lang.Thread.run(Thread.java:840)에서

      원인: io.debezium.DebeziumException: binlog 이벤트 처리 오류

      ... 7개 더

      원인: io.debezium.DebeziumException: 이 커넥터에서 스키마를 알 수 없는 테이블 db.tb에 대한 변경 이벤트가 발생했습니다.

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:984)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:1036)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleUpdateTableMetadata(BinlogStreamingChangeEventSource.java:785)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$4(BinlogStreamingChangeEventSource.java:178)에서

      io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:559)에서

      ... 6개 더

      최신 릴리스된 Debezium 버전을 사용하면 동일한 동작이 보입니까?

      (이상적으로는 최신 Alpha/Beta/CR 버전으로도 확인하세요)

      <당신의 답변>

      처음부터 끝까지의 커넥터 로그가 이상적으로 있나요?

      (나중에 DEBUG/TRACE 수준 로그를 제공하라는 요청을 받을 수 있음 )

      <당신의 답변>

      튜토리얼 배포를 사용하여 문제를 재현하는 방법은 무엇입니까 ?

      <당신의 답변>

      기능 요청 또는 향상

      기능 요청이나 개선 사항이 있는 경우 다음 정보를 제공해 주세요.

      제안된 기능은 어떤 사용 사례/요구 사항을 처리할 것인가?

      <당신의 답변>

      구현 아이디어(선택 사항)

      <당신의 답변>

              Unassigned Unassigned
              gxd0214@gmail.com Hwang TaeYeon (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: