Subject | Re: Re[4]: [firebird-support] sweep start & running |
---|---|
Author | Nick Upson |
Post date | 2013-01-14T15:10:43Z |
HI Dmitry,
thanks, I thought that there should not be a second sweep run but needed to
make sure
And, transactions does not "holding the transaction counter".
maybe I said it badly, I meant that:
If I start a transaction, until I commit or rollback that stops the OAT
moving forward (holding the active transaction counter I intended to say)
can you help with this? :
gbak can cause a gap > 20000, can that cause a sweep to be started when
another process 'notices' the gap?
thanks, I thought that there should not be a second sweep run but needed to
make sure
And, transactions does not "holding the transaction counter".
maybe I said it badly, I meant that:
If I start a transaction, until I commit or rollback that stops the OAT
moving forward (holding the active transaction counter I intended to say)
can you help with this? :
gbak can cause a gap > 20000, can that cause a sweep to be started when
another process 'notices' the gap?
On 14 January 2013 14:55, Dmitry Kuzmenko <kdv@...> wrote:
> **
>
>
> Hello, Nick!
>
> Monday, January 14, 2013, 6:39:33 PM, you wrote:
>
> NU> I'm think of something like this:
> NU> process A starts a transaction & holds it open, holding the transaction
> NU> counter
> NU> (time & transactions pass)
> NU> process B starts a transaction, sees gap > 20000 & initiates sweep
> ...
> No, completely.
>
> Process A starts a transaction, engine checks Next, OAT, OST, etc,
> and if there is a sweep gap greater than sweep interval, starts sweep.
> This happens at the start of transaction, and this operation
> is not parallel.
>
> So, when next transaction will start, auto-sweep already will be active,
> and will not start second time.
>
> And, transactions does not "holding the transaction counter".
>
> Have you heard about windows function InterLockedIncrement?
> Transaction start is like this.
>
> NU> On 14 January 2013 14:30, Dmitry Kuzmenko kdv@...> wrote:
>
> >> **
>
> >>
> >>
> >> Hello, Nick!
> >>
> >> Monday, January 14, 2013, 5:52:49 PM, you wrote:
> >>
> >> NU> if 2 processes both see a gap > 20000 will that result in 2 sweeps
> >> running
> >> NU> at the same time?
> >>
> >> transaction start is serialized, i.e. no 2 transactions can start at
> >> the same time. So, auto-sweep can not run 2 times at once.
> >> Only first transaction start, that will discover "sweep interval",
> >> will initiate auto-sweep (if it is not turned off by sweep interval =
> >> 0).
> >>
> >> --
> >> Dmitry Kuzmenko, www.ib-aid.com
> >>
> >>
> >>
>
> --
> Dmitry Kuzmenko, www.ib-aid.com
>
>
>
--
Nick Upson, Telensa Ltd
[Non-text portions of this message have been removed]