Fixing Checkpoint Recovery in SeaTunnel’s BigQuery Connector

https://hackernoon.imgix.net/images/GQtxSqyLbmdhnAkgEuIOHc3Vmm83-4p83etu.png

While working on the BigQuery Sink Connector for Apache SeaTunnel, I initially thought the main challenge would be straightforward: write rows into BigQuery correctly.

But as the implementation evolved, I realized the real problem was deeper than just calling the BigQuery API. The hard part was aligning BigQuery’s external write visibility model with SeaTunnel’s checkpoint and restore lifecycle.

This post summarizes the design issue I encountered while using the BigQuery Storage Write API, why the initial pending-stream design was not strong enough for checkpoint recovery, and why I eventually redesigned the batch write path around buffered streams.

Initial Design: Pending Streams for Batch Writes

BigQuery Storage Write API provides several write stream types. At first, Pending Stream looked like a natural fit for batch writes.

The flow is roughly:

Create PENDING streamAppendRowsFinalizeWriteStreamBatchCommitWriteStreams

Data written to a pending stream is not visible to readers until BatchCommitWriteStreams is called. Since BigQuery can...

Copyright of this story solely belongs to hackernoon.com. To see the full text click HERE

Read more

https://cdn.mos.cms.futurecdn.net/UDsQLCikubZL5mvWZQ8auG-2000-80.jpg

Someone got Blu-ray's Dolby Atmos TrueHD sound working on the Apple TV 4K — but I'm not sure the elaborate system, that goes from Atmos to Apple's custom spatial audio system back to Atmos, is something I'll try myself

* For now you need to build the feature yourself on a Mac * Native Player delivers similar audio but isn't open source * Proposed as an extension to the Nuvio media player A clever developer has come up with a way to deliver lossless Dolby TrueHD movie soundtracks, complete with