This video discusses transactions, including one of the more important technical areas of GemStone Smalltalk: the “Commit Record Backlog.” Transaction state is either in or out of a transaction. Transaction begin mode is #’autoBegin’, #’manualBegin’, or #’transactionless’. A ‘Commit Record’ represents a view of the repository created by a particular commit. Every Gem (VM) or database session is connected to one commit record. As various gems commit, the list of commit records can grow long. As long as a session is holding an older commit record, all the records between need to be held. This creates a common problem in GemStone systems, a long list of commit records. This can cause the repository to grow and it can cause processing to become progressively slower as more records need to be scanned to process later commits.

Advertisements