[Glass] Stone startup delayed by reading
Dale Henrichs via Glass
glass at lists.gemtalksystems.com
Wed Jun 22 11:59:38 PDT 2016
Marten,
This situation occurs ("Stone startup delayed by reading 535481
outstanding commit records.") when you stop a stone that has an
outstanding commit record backlog.
The most common reason for a commit record backlog is to have a
development session (topaz, tODE, Jade) logged in while your system is
actively committing. When you shut down a stone, the commit records are
written to disk (most of which are probably already on disk) and the
stone exits ... when the stone starts up, it has to process all of the
outstanding commit records before going into normal operation.
Soooo, if you are seeing this over multiple start/stop stone sessions,
then you are apparently creating a _new_ commit record backlog before
stopping the stone ...
So I think that you should try to track down the session that is causing
the commit record backlog ...
Before we get too far into this, I want to rule out the most common
cause: a development session sitting idle while a production/dev system
is doing commits.
If you've got this situation, you should stop leaving your development
session logged in during heavy commits and or do a `SystemRepository
reclaimAll` in your development evironment before stopping the stone and
after shutting down all of your headless vms ... be sure to do a commit
or abort in the your dev environment before running reclaimAll ..
If you are not leaving a dev environment idle, then your headless
servers need to be responding to SigAbort signals and that is done by
code that looks something like the following:
System transactionMode: #manualBegin.
Exception
installStaticException:
[:ex :cat :num :args |
"Run the abort in a lowPriority process, since we must acquire the
transactionMutex."
[
GRPlatform current transactionMutex
critical: [
GRPlatform current doAbortTransaction ].
System enableSignaledAbortError.
] forkAt: Processor lowestPriority.
]
category: GemStoneError
number: 6009
subtype: nil.
System enableSignaledAbortError.
"This thread is needed to handle the SigAbort exception, when the primary
thread is blocked on an accept. Assuming default 60 second
STN_GEM_ABORT_TIMEOUT, wake up at 30 second intervals."
[
[ true ] whileTrue: [ (Delay forSeconds: 30) wait ].
] forkAt: Processor lowestPriority.
If you are not leaving dev environments idle and you have code like the
above in your headless vms ... then we need to hunt down the session
that is creating a commit record backlog ...
Dale
On 06/22/2016 01:03 AM, Marten Feldtmann via Glass wrote:
>
> When I started my stone during the last days i noticed a much longer
> startup time of my stone. looking through my log-files I noticed the
> following lines. What happened here ?
>
>
> ...
> Totals
> ------
> Repository Size = 110320 Mbytes = 7060480 pages
> Free Space = 55955 Mbytes = 3581166 pages
> ---------------------------------------------------
> Started AIO page server, processId 3707
> Stone startup delayed by reading 535481 outstanding commit records.
> 535000 remaining to be read
> 534500 remaining to be read
> 534000 remaining to be read
> ...
>
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20160622/a5d2ab4a/attachment-0001.html>
More information about the Glass
mailing list