[Glass] topaz processes blocking backup
Dale Henrichs via Glass
glass at lists.gemtalksystems.com
Mon Feb 22 15:30:59 PST 2016
On 2/20/16 12:51 AM, Marten Feldtmann via Glass wrote:
>
> I do not know why, but my topaz processes (having only zinc http-work)
> are still blocking my backup process
>
I'm not quite sure what you mean here ... is there a specific error that
you are getting?
>
> - and have an increasing backlog value:
>
are you talking about a commit record backlog?
>
> actually these topaz processes are started - but they nevers servered
> any request, because I had a Jade session open and all requests were
> redirected to that session (due to debugging).
>
How are requests (HTTP requests?) being redirected to JADE?
If you have a JADE session open (the same applies to tODE and GemTools
or an interactive topaz), then you MUST periodically perform an abort or
the interactive session WILL cause a commit record backlog ... Either
that or you have to arrange to start an infinite delay loop that never
returns to your client. For example the following executed in a JADE
workspace should avoid a commit record backlog:
[true ] whileTrue: [ (Delay forSeconds: 30) wait. abort ]
unless your JADE session is not the only interactive login...
> In the first window you see my code, which starts the https server on
> a specific port - and the second window shows all stuff around ...
>
I don't see any windows here, so I don't quite understand what you are
describing ..
The following three lines look completely out of context and I don't
know what they signify
> server := MSKRestCallServer newDefaultServer.
> server port: $2 printString asNumber.
> server startServer: true httpDebug: false localhost: false.
Now the following looks like a topaz session launching code similar to
the above and I would expect this code to work properly ... the log file
would be useful to understand if it is properly starting and running ...
> cat << EOF | nohup $GEMSTONE/bin/topaz -l -T ${3} -u ${1}_${2} 2>&1 >> $GEMSTONE_LOGDIR/${1}_server-${2}.log &
>
> set user DataCurator pass $GEMSTONE_CURATOR_PASS gems $GEMSTONE_NAME
>
> display oops
> iferror where
>
> login
>
> run
>
> "record gems pid in the pid file"
>
> | file |
>
> (GsFile isServerDirectory: '$GEMSTONE_DATADIR') ifFalse: [ ^nil ].
>
> file := GsFile openWriteOnServer: '$GEMSTONE_DATADIR/${1}_server-${2}.pid'.
> file nextPutAll: (System gemVersionReport at: 'processId') printString.
> file cr.
> file close.
>
> (ObjectLogEntry
> info: '${1}_server-${2}: startup'
> object: 'pid: ', (System gemVersionReport at: 'processId') printString) addToLog.
> System commitTransaction
> ifFalse: [
> System abortTransaction.
> nil error: 'Could not commit ObjectLog entry' ].
> %
> run
>
> | count server |
>
> GsProcess usingNativeCode not
> ifTrue: [
> "Enable remote Breakpoing handling"
> Breakpoint trappable: true.
> GemToGemAnnouncement installStaticHandler.
> System commitTransaction ifFalse: [ nil error: 'Could not commit for GemToGemSignaling' ].
> ].
>
> System transactionMode: #autoBegin.
> Exception
> installStaticException:
> [:ex :cat :num :args |
> "Run the abort in a lowPriority process, since we must acquire the
> transactionMutex."
> [
> GRGemStonePlatform current transactionMutex
> critical: [
> GRGemStonePlatform current doAbortTransaction ].
> System enableSignaledAbortError.
> ] forkAt: Processor lowestPriority.
> ]
> category: GemStoneError
> number: 6009 "#rtErrSignalAbort"
> subtype: nil.
>
> System enableSignaledAbortError.
>
> "This thread is needed to handle the SigAbort exception, when the primary
> thread is blocked. Assuming default 60 second STN_GEM_ABORT_TIMEOUT, wake
> up at 30 second intervals."
>
> [
> [ true ] whileTrue: [ (Delay forSeconds: 30) wait ].
>
> ] forkAt: Processor lowestPriority.
>
> GsFile gciLogServer: '$1 Server started on port ', $2 printString.
> server := MSKRestCallServer newDefaultServer.
> server port: $2 printString asNumber.
> server startServer: true httpDebug: false localhost: false.
> %
>
> run
>
> GemToGemAnnouncement uninstallStaticHandler.
> System beginTransaction.
> (ObjectLogEntry
> fatal: '${1}_server_${2}: topaz exit'
> object:
> 'pid: ', (System gemVersionReport at: 'processId') printString) addToLog.
> System commitTransaction.
>
> %
>
> EOF
>
You mention a JADE session running an I can only assume that it is the
JADE session that is causing your "problem", but I'm not exactly sure
that I know what your problem is ...
Presumably if you stop trying to debug with JADE the system runs correctly?
Dale
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20160222/e82ed87e/attachment.html>
More information about the Glass
mailing list