[Glass] External Sessions issues
James Foster
Smalltalk at JGFoster.net
Wed Jan 16 15:43:18 PST 2019
Dario,
My mistake. GsExternalSession>>softBreak (and hardBreak) work correctly. They do, in fact, post an interrupt to the running process and the running process does, in fact, stop. In order to “catch” the break you need to follow the break with another waitForResult call. It should return immediately after you wait and the thing returned should be the break exception.
James
> On Jan 13, 2019, at 6:52 AM, James Foster <Smalltalk at JGFoster.net> wrote:
>
> Dario,
>
> GsExternalSession>>softBreak (and hardBreak) should have interrupted the non-blocking call. I’ve reported this as internal bug #47869.
>
> James
>
>> On Jan 12, 2019, at 8:36 AM, Trussardi Dario Romano via Glass <glass at lists.gemtalksystems.com <mailto:glass at lists.gemtalksystems.com>> wrote:
>>
>> Ciao,
>>
>> another points.
>>
>>
>> E) After a aGsExternalSession forkString: 'DTRClient bigData'.
>>
>> aGsExternalSession waitForResultForSeconds: 2 otherwise:[ ...... ]
>>
>> If the remote system don't answer in the time and i would like to finish the execution
>>
>> what i can do in the otherwise block to terminate the call in progress ?
>>
>> When i submit another request the system answer : 'call in progress' .
>>
>> The abort - softBreak and hardBreak don't reset the call in progress.
>>
>> Thanks,
>>
>> Dario
>>
>>
>>> Ciao,
>>>
>>> i do som test about External Sessions support between two Gemstone 3.4.3. system.
>>>
>>> Some points:
>>>
>>> A) The remote system ( presolana )need to have the same logs directory path ( /opt/GsDKb/GsDevKit_home/server/stones/base_343/logs ) of the request.
>>>
>>>
>>> Otherwise the remote netldi.log report the entry:
>>>
>>> For client command: '!#encrypted:party#netldi:39357#dir:/opt/GsDKb/GsDevKit_home/server/stones/base_343/logs#log:%N%P.log!gemnetobject'
>>> chdir(/opt/GsDKb/GsDevKit_home/server/stones/base_343/logs) failed in child process
>>> ERROR: errno=2,ENOENT, The file or directory specified cannot be found
>>>
>>> B) When create the GsExternalSession with the Network Resource String: gemNRS: '!@25.58.122.207#netldi:41953!gemnetobject'
>>>
>>> UserGlobals at: #Sample put:
>>> ( GsExternalSession
>>> gemNRS: '!@25.58.122.207#netldi:41953!gemnetobject'
>>> stoneNRS: '!@25.58.122.207!base_343'
>>> username: 'DataCurator'
>>> password: 'swordfish'
>>> yourself).
>>>
>>> the system report the error:
>>>
>>> a MessageNotUnderstood occurred (error 2010), a String does not understand #'node' (3)
>>>
>>> C) I login aGsExternalSession on remote system and all works fine.
>>>
>>> But when i do the aGsExternalSession logout
>>>
>>> the system is blocked for 20 seconds and after open a dialog:
>>>
>>> UserDefinedError: session with stone session ID of 6 gemProcessId = 3115 still present 20 seconds after logout (3)
>>>
>>> D) The exception it is not accessible, or at least it is not clear how to do it.
>>>
>>> | result |
>>> result := [myGsExternalSession executeString: '1/0']
>>> on: GciError
>>> do: [:ex | ex description].
>>>
>>> open a dialog with : ArgumentError: NullPointer error, CByteArray.CData == 0 (3)
>>>
>>> Thanks for considerations,
>>>
>>> Dario
>>> _______________________________________________
>>> Glass mailing list
>>> Glass at lists.gemtalksystems.com <mailto:Glass at lists.gemtalksystems.com>
>>> http://lists.gemtalksystems.com/mailman/listinfo/glass <http://lists.gemtalksystems.com/mailman/listinfo/glass>
>>
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com <mailto: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/20190116/697a4a25/attachment.html>
More information about the Glass
mailing list