From: Karthik Nayak Date: Thu, 05 Feb 2026 11:22:21 GMT Subject: Re: [PATCH v2 4/4] odb: transparently handle common transaction behavior Message-ID: In-Reply-To: Justin Tobler writes: > On 26/02/04 10:34AM, Karthik Nayak wrote: >> Justin Tobler writes: >> >> > A new ODB transaction is created and returned via >> > `odb_transaction_begin()` and stored in the ODB. Only a single >> > transaction may be pending at a time. If the ODB already has a >> > transaction, the function is expected to return NULL. Similarly, when >> > committing a transaction via `odb_transaction_commit()` the transaction >> > being committed must match the pending transaction and upon commit reset >> > the ODB transaction to NULL. >> >> But isn't this merely a limitation of the current implementation of the >> files transactions? Couldn't a potential ODB source support parallel >> transactions where this might no longer hold? > > Just to clarify, this limitation exists per Git process. I missed this, makes sense now. > For the time > being, we only support writing objects to a single ODB source so a > single transaction for object writes seems reasonable for now. > Furthermore, the current "files" transaction backend relies on the > tmp_odjdir subsystem which means only a single temp odjdir may exist for > a Git process to write objects to. > > -Justin Thanks