REPLICATION

REPLICATION

REPLICATION 로그

복제 쓰기, epoch/barrier, ACK 처리와 전송 로그 관리에 해당하는 로그를 현재 코드 기준으로 정리합니다.

분류 상수: BSR_LC_REPLICATION

이 카테고리에서 확인할 사항

  • 출력 맥락: 복제 쓰기, epoch/barrier, ACK 처리와 전송 로그 관리

  • 우선 점검: barrier/epoch 번호, n_writes, ACK 대기, transfer log와 connection state

  • 플랫폼 분기: 같은 인덱스가 여러 행이면 Linux/Windows, 호환성 또는 실행 조건에 따른 메시지 변형입니다.

로그 목록

로그 인덱스

로그 수준

현재 코드 메시지

상세 의미 및 영향

비고

코드 위치

로그 인덱스

로그 수준

현재 코드 메시지

상세 의미 및 영향

비고

코드 위치

1

err

BAD! BarrierAck #%u received, but no epoch in transfer log!?

수신한 barrier ack의 해당하는 요청이 존재하지 않습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_main.c:644

2

err

BAD! BarrierAck #%u received, expected #%u!

수신한 barrier ack와 요청에 설정 된 barrier ack가 다릅니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_main.c:649

3

err

BAD! BarrierAck #%u received with n_writes=%u, expected n_writes=%u!

수신한 barrier ack의 설정 된 요청 수와 실제 요청 수가 맞지 않습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_main.c:655

4

err

epoch size is not zero. It is highly likely that replication has not been completed.. size(%d)

연결 종료 시 완료되지 않은 epcoh가 존재합니다. 복제가 완료되지 않았을 가능성이 높습니다.

  •  

bsr/bsr_main.c:4830

5

err

Timed out waiting for missing ack packets. disconnecting

ack 패킷을 기다리는 시간을 초과했습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_receiver.c:3416

6

info

ack_receiver is not running... bump mirrored data

복제 데이터 수신 시 ack_receiver가 동작하지 않습니다.

  •  

bsr/bsr_receiver.c:3624

7

err

Failed to receive data due to failure to acquire activity log. Shut down the connection. conn_state(%s) err(%d)

복제 데이터의 activity log를 획득하지 못했습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_receiver.c:3889

8

info

receive_Data connection->last_dagtag_sector:%llx ack_receiver thread state:%d

  •  

  •  

bsr/bsr_receiver.c:3954

9

err

Failed to receive data due to failure to submit I/O request, triggering re-connect

복제 데이터의 쓰기 요청을 실패했습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_receiver.c:3960

10

err

Failed to I/O submit peer request, triggering re-connect

복제 데이터의 쓰기 요청을 실패했습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_receiver.c:3991

11

err

Failed to receive data request due to failure block I/O size received. sector(%llus), size(%d)

데이터 요청 크기가 설정한 크기와 맞지 않습니다. 피어 노드와 재연결됩니다.

로그에 출력 된 sector, size 확인이 필요합니다.

bsr/bsr_receiver.c:4128

12

err

Failed to receive data request due to receives a sector over capacity. sector(%llus), size(%d)

데이터 요청 크기가 디스크 크기를 초과합니다. 피어 노드와 재연결됩니다.

로그에 출력 된 sector, size 확인이 필요합니다.

bsr/bsr_receiver.c:4132

13

err

Failed to receive data request due to can not satisfy peer's read request, no local data.

데이터 요청을 응답할 수 없는 디스크 상태이며 수신한 protocol은 무시됩니다.

  •  

bsr/bsr_receiver.c:4162

14

err

ASSERTION FAILED, Replication epoch list is not empty.

연결 종료 시 완료 되지 않은 복제 데이터가 있습니다. 데이터가 누락되었을 수 있습니다.

  •  

bsr/bsr_receiver.c:10097

15

info

ASSERTION FAILED, remove epoch barrier_nr : %u, epochs:%u

연결 종료 시 완료 되지 않은 복제가 존재합니다.

  •  

bsr/bsr_receiver.c:10101

16

err

Failed to request and write data to peer disk. sector %llus, len %u

피어 노드에서 디스크 쓰기를 실패 했습니다.

  •  

bsr/bsr_receiver.c:11211

17

info

got_peer_ack dagtag:%llx in_sync:%llx

  •  

  •  

bsr/bsr_receiver.c:11450

18

err

Failed to receive peer ack due to peer request with dagtag %llu not found

피어 노드에서 전달받은 peer ack의 dagtag를 찾지 못했습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_receiver.c:11460

19

info

got_peer_ack bsr_set_sync device:%p, peer_req->i.sector:%llx, peer_req->i.size:%d, in_sync_b:%llx, set_sync_mask:%llx

  •  

  •  

bsr/bsr_receiver.c:11483

20

info

Congestion-fill threshold reached %lluKB

send-buffer가 혼잡합니다.

bsr send-buffer 혼잡은 resource 설정중 net섹션에서 congestion-fill 으로 설정 할 수 있습니다.

bsr/bsr_req.c:1889

21

err

Failed to response for request data due to failure read. sector(%llus).

읽기 오류로 피어가 요청한 데이터를 전송하지 못했습니다.

  •  

bsr/bsr_sender.c:2330

22

err

Failed to response for request data due send. err(%d)

읽기 오류 또는 전송 오류로 피어가 요청한 데이터를 전송하지 못햇습니다. 오류에 따라 피어 노드와 재연결됩니다.

  •  

bsr/bsr_sender.c:2341

23

info

Peer is Ahead. change to Behind mode

피어 노드의 복제 상태가 Ahead 로 변경되어 로컬 노드의 복제 상태가 Behind로 합니다.

  •  

bsr/bsr_receiver.c:8594

24

err

Failed to receive data due to digest integrity check failed

요청 데이터의 무결성이 일치하지 않습니다. 피어 노드와 재연결됩니다.

  •  

bsr/bsr_receiver.c:2482

25

info

Reconciliation resync because '%s' disappeared. (o=%d) lost_peer:%p lost_peer->last_dagtag_sector:0x%llx be64_to_cpu(p->dagtag):%llx

  •  

  •  

bsr/bsr_receiver.c:9475

26

info

No reconciliation resync even though '%s' disappeared. (o=%d) lost_peer:%p lost_peer->last_dagtag_sector:0x%llx be64_to_cpu(p->dagtag):%llx

  •  

  •  

bsr/bsr_receiver.c:9500

28

warn

request count exceeds maximum, postponing I/O until we get enough memory. req_write_cnt(%d), max cnt(%d)

로컬 I/O 요청 수가 최대값을 초과했습니다. 요청이 최대값 이하가 남을때까지 지연됩니다. I/O가 지연됩니다.

  •  

bsr/bsr_int.h:4449

29

warn

Write ordering was not enforced (one time event)

피어 노드의 쓰기 요청을 완료 했지만 barrier 오류 발생으로 재 수행 시 1회성으로 출력되는 로그입니다.

  •  

bsr/bsr_receiver.c:2155

31

err

Failed to receive data due to timeout waiting for resync to complete on the same sector.

수신한 복제 데이터와 동일한 섹터에 동기화 데이터 쓰기가 10초간 완료되지 못하여 타임아웃이 발생합니다. 피어 노드와 재연결 됩니다.

  •  

bsr/bsr_receiver.c:3841 bsr/bsr_req.c:2873

32

info

Congestion-highwater threshold reached %u

send-buffer에 계류중인 데이터의 수가 congestion-highwater에 도달하여 혼잡 상황으로 판단합니다.

congestion-highwater 의 기본값은 20000 입니다. 0으로 설정시 비활성화 되며, resource 설정 중 net 섹션에서 설정 할 수 있습니다.

bsr/bsr_req.c:1899

33

err

Failed to wait for completion of synchronization data in the same area where the write is in progress

  •  

  •  

bsr/bsr_req.c:2881

234

err

Failed to receive rs data due to timeout waiting for resync to complete on the same sector.

  •  

  •  

bsr/bsr_receiver.c:2852

공통 진단 순서

  1. 로그 수준과 최초 발생 시점을 기준으로 오류·경고 이전의 정상 상태를 확인합니다.

  2. 메시지의 객체, node/minor, sector/size, state와 오류 코드를 같은 시각의 로그와 연결합니다.

  3. barrier/epoch 번호, n_writes, ACK 대기, transfer log와 connection state를 대조해 직접 실패 지점과 후속 영향 범위를 구분합니다.

  4. 후속 성공·완료·상태 전이 로그가 없거나 같은 인덱스가 반복되면 관련 코드 위치와 플랫폼 분기를 확인합니다.