arcus-memcached icon indicating copy to clipboard operation
arcus-memcached copied to clipboard

[persistence] 이전 체크포인트 파일 제거 설정 추가

Open MinWooJin opened this issue 4 years ago • 1 comments

현재는 체크포인트가 수행되면 이전 체크포인트에 의해 생성되었던 모든 파일들을 제거하는 기능만 제공하고 있다. 상황에 따라서는 이전 체크포인트 시점으로 복구를 할 필요가 있을 수 있으며, 이전 체크포인트 파일을 보관하는 기능이 필요하다. 보관이 필요한 시점은 응용서비스 마다 모두 다를 수 있으며, 설정으로 제공할 수 있도록 한다.

MinWooJin avatar May 22 '20 00:05 MinWooJin

참고.(@jhpark816 comment)

여러 checkpoint 파일들을 보관하면서, configuration 설정으로 마지막 N 시간으로 복구할 수 있는 기능을 지정하여 제공하려면, checkpoint 동작의 틀을 수정해야 합니다.

  • last_chkpt_time 만 보관하는 것이 아니라 prev_chkpt_time and/or min_chkpt_time 등의 정보도 있어야 하고,
  • sweep_chkpt_files() 동작을 일반화하여
    • (last_chkpt_time - min_chkpt_time) 값이 지정된 N 시간보다 큰 경우에 한하여.
    • (last_chkpt_time - N) 보다 작은 time을 가진 모든 chkpt files를 제거해야 합니다.
  • checkpoint 실패로 인해 남은 chkpt files들은 삭제해서 실패할 경우, 그대로 남겨두면 됩니다. 그 이후에 sweep files 동작 시에 제거됩니다.

MinWooJin avatar May 22 '20 00:05 MinWooJin