tag:github.com,2008:https://github.com/segmentio/ctlstore/releasesRelease notes from ctlstore2024-02-16T20:24:37Ztag:github.com,2008:Repository/197225253/v0.0.92024-02-16T20:24:37Zv0.0.9: Upgrade go-sqlite3 to v1.14.22 (#142)<h2>Description</h2>
<p>Update the <code>go-sqlite3</code> dependency for Ctlstore to get to the latest upstream version from <a href="https://github.com/mattn/go-sqlite3">https://github.com/mattn/go-sqlite3</a>.</p>
<p>Notably we depend on a Segment-specific fork that includes a patch which enables preupdate hooks for our code without requiring a build-time flag to be manually put into place by all users of the ctlstore library.</p>
<h2>Details</h2>
<p>This depends on <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2136087795" data-permission-text="Title is private" data-url="https://github.com/segmentio/go-sqlite3/issues/9" data-hovercard-type="pull_request" data-hovercard-url="/segmentio/go-sqlite3/pull/9/hovercard" href="https://github.com/segmentio/go-sqlite3/pull/9">segmentio/go-sqlite3#9</a> to allow the <code>go get</code> to succeed.</p>
<p>Once that is merged, we deleted the <a href="https://github.com/segmentio/go-sqlite3/releases/tag/segment-v1.14.22">segment-v1.14.22</a> tag in that repo and recreated it as <a href="https://github.com/segmentio/go-sqlite3/releases/tag/v1.14.22-segment">v1.14.22-segment</a>.</p>
<div class="markdown-alert markdown-alert-tip"><p class="markdown-alert-title"><svg class="octicon octicon-light-bulb mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></svg>Tip</p><p>Despite fixing the <code>master</code> of go-sqlite3 to <a href="https://github.com/segmentio/go-sqlite3/blob/b9c49a6eaf4ca03f2515c9ef9334d20741363b3b/go.mod#L1">update module path</a>, I was getting errors doing <code>go get</code> after deleting and recreating the <code>segment-v1.14.22</code> tag like so:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="% go get github.com/segmentio/go-sqlite3@segment-v1.14.22
go: github.com/segmentio/go-sqlite3@segment-v1.14.22 (v1.14.23-0.20240208202956-73b5bef61db6) > requires github.com/segmentio/go-sqlite3@v1.14.23-0.20240208202956-73b5bef61db6: parsing go.mod:
module declares its path as: github.com/mattn/go-sqlite3
but was required as: github.com/segmentio/go-sqlite3"><pre class="notranslate"><code>% go get github.com/segmentio/go-sqlite3@segment-v1.14.22
go: github.com/segmentio/go-sqlite3@segment-v1.14.22 (v1.14.23-0.20240208202956-73b5bef61db6) > requires github.com/segmentio/go-sqlite3@v1.14.23-0.20240208202956-73b5bef61db6: parsing go.mod:
module declares its path as: github.com/mattn/go-sqlite3
but was required as: github.com/segmentio/go-sqlite3
</code></pre></div>
<p><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kevinburkesegment/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kevinburkesegment">@kevinburkesegment</a> explained this was likely due to the Go package cache, so we decided to just delete that previous tag and not try to recreate it. Instead we created a tag with a different name.</p>
</div>
<p>Testing completed successfully:</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> ensure CI runs</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> verify on other services that include ctlstore client, when those services are updated. <a href="https://segment.atlassian.net/browse/IO-1695" rel="nofollow">https://segment.atlassian.net/browse/IO-1695</a></li>
</ul>
<div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>Replacement for PR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2136099076" data-permission-text="Title is private" data-url="https://github.com/segmentio/ctlstore/issues/140" data-hovercard-type="pull_request" data-hovercard-url="/segmentio/ctlstore/pull/140/hovercard" href="https://github.com/segmentio/ctlstore/pull/140">#140</a> which had the wrong version number in its branch name.</p>
</div>erikdwtag:github.com,2008:Repository/197225253/v0.0.82023-11-30T14:40:02Zv0.0.8: Multi-Shoveler Open and Close (#131)<ul>
<li>start up multiple reflectors</li>
<li>Concurrent ldb downloads</li>
<li>Add rotating reader and tests</li>
<li>add convenience methods</li>
<li>use go 1.13 friendly atomic interface</li>
<li>add support for multiple LDB copies in InitContainer</li>
<li>only create dbs if they don't exist</li>
<li>reopen and close last rotated reader</li>
<li>create a changelog for first ldb in multimode</li>
</ul>wavetylortag:github.com,2008:Repository/197225253/v0.0.72023-11-01T19:10:07Zv0.0.7: properly check errors while shoveling (#130)<ul>
<li>
<p>properly check errors while shoveling</p>
</li>
<li>
<p>address another parallel test suite not copying test case var</p>
</li>
<li>
<p>add reflector poll timeout configuration cli arg</p>
</li>
</ul>wavetylortag:github.com,2008:Repository/197225253/v0.0.62023-10-06T20:18:44Zv0.0.6: [CONFIG-329][CONFIG-330] End to end snapshot integrity check (#124)<ul>
<li>
<p>refactor supervisor to use sdk v2 and add checksum</p>
</li>
<li>
<p>open another reader to get checksum</p>
</li>
<li>
<p>make generate</p>
</li>
<li>
<p>refactoring</p>
</li>
<li>
<p>hex encoding</p>
</li>
<li>
<p>don't calculate</p>
</li>
<li>
<p>use metadata</p>
</li>
<li>
<p>WIP test</p>
</li>
<li>
<p>wip</p>
</li>
<li>
<p>wip</p>
</li>
<li>
<p>WIP</p>
</li>
<li>
<p>WIP</p>
</li>
<li>
<p>WIP</p>
</li>
<li>
<p>fix install</p>
</li>
<li>
<p>WIP</p>
</li>
<li>
<p>wip</p>
</li>
<li>
<p>wip</p>
</li>
<li>
<p>chmod</p>
</li>
<li>
<p>install s3cmd from alpine</p>
</li>
<li>
<p>install aws-cli in alpine</p>
</li>
<li>
<p>install shasum in alpine</p>
</li>
<li>
<p>wip</p>
</li>
<li>
<p>test if sha value matches</p>
</li>
<li>
<p>wip</p>
</li>
<li>
<p>fix shell syntax error</p>
</li>
<li>
<p>add 5 attempts threshold</p>
</li>
<li>
<p>skip checksum validation if null</p>
</li>
<li>
<p>test unhappy path</p>
</li>
<li>
<p>revert false negative</p>
</li>
<li>
<p>address feedbacks</p>
</li>
<li>
<p>fix script</p>
</li>
<li>
<p>test unhappy path</p>
</li>
<li>
<p>revert false negative</p>
</li>
<li>
<p>using sha1</p>
</li>
<li>
<p>update log to avoid confusion</p>
</li>
<li>
<p>fix wording</p>
</li>
</ul>
<hr>
<p>Co-authored-by: Hongyu Zhou <a href="mailto:hongyu.zhou@segment.com">hongyu.zhou@segment.com</a></p>zhou-hongyutag:github.com,2008:Repository/197225253/v0.0.52023-08-11T13:57:08Zv0.0.5: Script for downloading snapshots using s5cmd and pigz (#120)<ul>
<li>add s5cmd to image</li>
<li>add pigz to test faster decompress</li>
<li>add downloading to script</li>
<li>add concurrency parameter</li>
<li>Add metrics to the download script</li>
</ul>wavetylortag:github.com,2008:Repository/197225253/v0.0.42023-08-03T15:20:30Zv0.0.4: Update sqlite version (#113)<ul>
<li>
<p>update sqlite version</p>
</li>
<li>
<p>fix merge</p>
</li>
<li>
<p>fix int test</p>
</li>
<li>
<p>update version</p>
</li>
</ul>
<hr>
<p>Co-authored-by: Taylor Brennan <a href="mailto:taylor.brennan@segment.com">taylor.brennan@segment.com</a></p>kalamaytag:github.com,2008:Repository/197225253/v0.0.32022-10-28T23:37:58Zv0.0.3<p>Bumping testify version for CVE</p>aklishtag:github.com,2008:Repository/197225253/v0.0.22022-07-11T11:54:15Zv0.0.2<p>feat(testing): improve support for running parallel tests with ctlsto…</p>dominicbarnestag:github.com,2008:Repository/197225253/v0.0.12021-11-18T22:26:27Zv0.0.1<p>v0.0.1</p>collinvandyck