More control over Index.merge by powergogo

View this thread on steempeak.com
· @powergogo ·
$21.11
More control over Index.merge
index는 작은 메모리 임프린트를 사용하면서 빠른 조회를 보장하기 위해 병합이라는 유지 보수 작업을 정기적으로 수행합니다. 이 작업은 대부분의 다른 기능과 동시에 수행되지만 자체와 동시에 수행되지는 않습니다. 두 번째 병합은 이전 병합이 완료 될 때까지 기다려야합니다. 많은 양의 데이터를 자주 쓸 때 병합 작업이 차단됩니다. 차단 병합을 측정하고 감지하는 데 도움이되도록 병합이 진행 중인지 확인하고 시간을 측정하는 인덱스 API 호출을 추가했습니다.

병합은 인덱스의 다른 대부분의 기능과 동시 적이라고 언급했습니다. 한 가지 주목할만한 예외는 close로, 인덱스를 닫기 전에 진행중인 병합이 완료 될 때까지 기다려야했습니다. 이제 닫기는 진행중인 병합을 중단하지만 인덱스는 여전히 깨끗한 상태로 유지됩니다.

관련 PR : 인덱스 # 185, irmin # 1049 및 인덱스 # 215.

점포 정리
최근에 추가 한 또 다른 기능은 상점을 정리할 수 있다는 것입니다. 디스크에서 오래된 파일을 제거하고 새로운 파일을 열어서 구현됩니다. 그러나 irmin-pack에서 읽기 전용 인스턴스는 지우기가 발생했음을 감지해야합니다. 이를 위해 irmin-pack 저장소에서 사용하는 파일의 헤더에 생성을 추가합니다. 이는 clear 작업으로 증가합니다. 세대 변경은 최신 값을 읽을 수 있도록 파일을 닫고 다시 열어야한다는 읽기 전용 인스턴스에 신호를 보냅니다.

지우기 작업을 추가하여 디스크에있는 파일의 헤더가 변경되었으므로이 변경 이전에 생성 된 irmin-pack 저장소는 더 이상 지원되지 않습니다. 이전 버전 (버전 1)으로 생성 된 스토어에 대한 마이그레이션 기능을 스토어의 새 버전 (버전 2)에 추가했습니다. 이 마이그레이션 함수를 다음과 같이 호출 할 수 있습니다.
👍  , , , , , , , , , , , , , , , , ,
properties (23)
post_id87,429,487
authorpowergogo
permlinkmore-control-over-index-merge
categorytezos
json_metadata{"tags":["tezos"],"app":"steemit\/0.2","format":"markdown"}
created2020-09-08 23:57:15
last_update2020-09-08 23:57:15
depth0
children0
net_rshares41,215,716,038,537
last_payout2020-09-15 23:57:15
cashout_time1969-12-31 23:59:59
total_payout_value10.578 SBD
curator_payout_value10.531 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length887
author_reputation2,499,066,298,306,331
root_title"More control over Index.merge"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (18)