Updating code in a production system

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Updating code in a production system

GLASS mailing list
Hi,

I'm doing some basic experiments to update code (methods, classes and
packages) in supposed production system.

There are three packages with 2 o 3 classes each. If i try to upload (a new
version) one package from GIT i got the an error. The update expression is:
GsDeployer deploy: [
  Metacello new
    baseline: 'BpmRuntimeUpdate';
    repository:
'github://brunobuzzi/GsProductionDataAndSourceUpdate:master/repository';
    onLock: [:ex | ex honor];
    load: 'update2' ].

a Error occurred (error 2514), An error occurred during a multi-threaded
operation: 'Page 323313 is not a dataPage, pageKind = 0'
Error (AbstractException) >> _signalFromPrimitive: @6 line 15
Repository >>
_scanPomWithMaxThreads:waitForLock:pageBufSize:percentCpuActiveLimit:identSet:limit:scanKind:toDirectory:
@1 line 1
[] in Repository >>
listInstances:limit:toDirectory:withMaxThreads:maxCpuUsage:memoryOnly: @49
line 19
Repository >> _doListInstancesFrom:with:includeMemory: @7 line 7
Repository >>
listInstances:limit:toDirectory:withMaxThreads:maxCpuUsage:memoryOnly: @20
line 29
Repository >> listInstances:limit:toDirectory:withMaxThreads:maxCpuUsage: @2
line 4
MCPlatformSupport class >> listInstances: @3 line 4
[] in GsDeployer >> doBulkMigrate @33 line 24
ExecBlock0 (ExecBlock) >> ensure: @2 line 12
GsDeployer >> doBulkMigrate @18 line 56
[] in GsDeployer >> deploy: @11 line 14
[] in MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: @12 line 7
ExecBlock0 (ExecBlock) >> ensure: @2 line 12
MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: @7 line 8
[] in GsDeployer >> mcPlatformSupportDo: @14 line 11
ExecBlock0 (ExecBlock) >> ensure: @2 line 12
GsDeployer >> mcPlatformSupportDo: @10 line 12
GsDeployer >> deploy: @3 line 3
GsDeployer class >> autoMigrate: @4 line 13
GsDeployer class >> deploy: @2 line 12
Executed Code  @2 line 1
GsNMethod class >> _gsReturnToC @1 line 1




--
Sent from: http://forum.world.st/GLASS-f1460844.html
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
What version of GemStone are you using?

Dale

On 1/23/20 11:44 AM, BrunoBB via Glass wrote:

> Hi,
>
> I'm doing some basic experiments to update code (methods, classes and
> packages) in supposed production system.
>
> There are three packages with 2 o 3 classes each. If i try to upload (a new
> version) one package from GIT i got the an error. The update expression is:
> GsDeployer deploy: [
>    Metacello new
>      baseline: 'BpmRuntimeUpdate';
>      repository:
> 'github://brunobuzzi/GsProductionDataAndSourceUpdate:master/repository';
>      onLock: [:ex | ex honor];
>      load: 'update2' ].
>
> a Error occurred (error 2514), An error occurred during a multi-threaded
> operation: 'Page 323313 is not a dataPage, pageKind = 0'
> Error (AbstractException) >> _signalFromPrimitive: @6 line 15
> Repository >>
> _scanPomWithMaxThreads:waitForLock:pageBufSize:percentCpuActiveLimit:identSet:limit:scanKind:toDirectory:
> @1 line 1
> [] in Repository >>
> listInstances:limit:toDirectory:withMaxThreads:maxCpuUsage:memoryOnly: @49
> line 19
> Repository >> _doListInstancesFrom:with:includeMemory: @7 line 7
> Repository >>
> listInstances:limit:toDirectory:withMaxThreads:maxCpuUsage:memoryOnly: @20
> line 29
> Repository >> listInstances:limit:toDirectory:withMaxThreads:maxCpuUsage: @2
> line 4
> MCPlatformSupport class >> listInstances: @3 line 4
> [] in GsDeployer >> doBulkMigrate @33 line 24
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> GsDeployer >> doBulkMigrate @18 line 56
> [] in GsDeployer >> deploy: @11 line 14
> [] in MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: @12 line 7
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> MCPlatformSupport class >> commitOnAlmostOutOfMemoryDuring: @7 line 8
> [] in GsDeployer >> mcPlatformSupportDo: @14 line 11
> ExecBlock0 (ExecBlock) >> ensure: @2 line 12
> GsDeployer >> mcPlatformSupportDo: @10 line 12
> GsDeployer >> deploy: @3 line 3
> GsDeployer class >> autoMigrate: @4 line 13
> GsDeployer class >> deploy: @2 line 12
> Executed Code  @2 line 1
> GsNMethod class >> _gsReturnToC @1 line 1
>
>
>
>
> --
> Sent from: http://forum.world.st/GLASS-f1460844.html
> _______________________________________________
> Glass mailing list
> [hidden email]
> https://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
Sorry i forgot to mention:
GS 3.4.1



--
Sent from: http://forum.world.st/GLASS-f1460844.html
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
Bruno,

It is probably worth running a pageaudit and an objectAudit to check for
data base corruption, but we don't think that is the real problem. If
these don't come back clean, then share the report with us.

Assuming that the audits are clean, we are thinking that reclaim running
during list instances is possibly causing the problem ... if you can
afford repository growth during your migration, you can shut down the
reclaim gem while doing the migration/listInstances.

Dale

On 1/23/20 3:21 PM, BrunoBB via Glass wrote:

> Sorry i forgot to mention:
> GS 3.4.1
>
>
>
> --
> Sent from: http://forum.world.st/GLASS-f1460844.html
> _______________________________________________
> Glass mailing list
> [hidden email]
> https://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
Dale,

SystemRepository objectAudit. "raise an error (executed in Jade and Topaz
with the same error)"

ERROR 2514 , a Error occurred (error 2514), An error occurred during a
multi-threaded operation: 'Page 323313 is not a dataPage, pageKind = 0'
(Error)
Error (AbstractException) >> _signalFromPrimitive: @6 line 15
Repository >>
_objectAuditWithMaxThreads:waitForLock:pageBufSize:percentCpuActiveLimit:csvFile:repair:
@1 line 1
Repository >> objectAuditWithMaxThreads:percentCpuActiveLimit: @6 line 22
Repository >> objectAudit @2 line 4
Executed Code  @2 line 1
GsNMethod class >> _gsReturnToC @1 line 1

regards,
bruno



--
Sent from: http://forum.world.st/GLASS-f1460844.html
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
Forgot to mention that i did the following:

System stopAllReclaimGcSessions.

SystemRepository objectAudit.

But i got the same error.

regards,
bruno



--
Sent from: http://forum.world.st/GLASS-f1460844.html
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
Dale,

The pageaudit also gives some errors maybe i'm missing some arguments:
[gemstone@localhost bin]$ *export
GEMSTONE=/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit3.4.1-x86_64.Linux*
[gemstone@localhost bin]$
[gemstone@localhost bin]$
[gemstone@localhost bin]$
[gemstone@localhost bin]$ *./pageaudit devKit_34*
pageaudit[Info]: GemStone version '3.4.1'
pageaudit[Info]: Starting pageaudit devKit_34-pageAudit.
pageaudit[Info]: GEMSTONE is:
'/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit3.4.1-x86_64.Linux'.
pageaudit[Info]:
   
GEMSTONE_SYS_CONF=/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit3.4.1-x86_64.Linux/data/system.conf
   
GEMSTONE_EXE_CONF=/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit3.4.1-x86_64.Linux/bin/devKit_34-pageAudit.conf
pageaudit[Info]: Log file is
'/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit3.4.1-x86_64.Linux/data/devKit_34-pageAudit.log'.

startstone[Error]: *Stone process (id=2818) has died.*
pageaudit[Error]: Examine
'/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit3.4.1-x86_64.Linux/data/devKit_34-pageAudit.log'
for more information.  Excerpt follows:
    -------------------------------------------------------
    Summary of Configured Transaction Logs
      Directory   0:
        configured name $GEMSTONE/data/
        expanded name
/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit3.4.1-x86_64.Linux/data/
        configuredSize 100 MB
    -------------------------------------------------------

--- 01/24/20 13:14:06 UYT ---
*    GemStone is unable to open the file $GEMSTONE/data/extent0.dbf
       reason = File does not exist*

    An error occurred opening the repository for exclusive access.

    Stone startup has failed.
[gemstone@localhost bin]$




--
Sent from: http://forum.world.st/GLASS-f1460844.html
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
Hi,

After modifying the system.conf file i was able to execute pageaudit. (see
attached files)

[gemstone@localhost bin]$ ./pageaudit devKit_34
.....
pageaudit[Info]: pageaudit devKit_34-pageAudit has been started, process
3182
pageaudit failure, child status = 3
For details, see
/home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit34-pageAudit.log


devKit_34-pageAudit.log
<http://forum.world.st/file/t111409/devKit_34-pageAudit.log>  
devKit_34-pageAudit_3207pageAuditGem.log
<http://forum.world.st/file/t111409/devKit_34-pageAudit_3207pageAuditGem.log>  



--
Sent from: http://forum.world.st/GLASS-f1460844.html
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
Thanks for the audit logs, I've passed them along to our guys and will
let you know what they recommend ...

Dale

On 1/24/20 10:38 AM, BrunoBB via Glass wrote:

> Hi,
>
> After modifying the system.conf file i was able to execute pageaudit. (see
> attached files)
>
> [gemstone@localhost bin]$ ./pageaudit devKit_34
> .....
> pageaudit[Info]: pageaudit devKit_34-pageAudit has been started, process
> 3182
> pageaudit failure, child status = 3
> For details, see
> /home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit34-pageAudit.log
>
>
> devKit_34-pageAudit.log
> <http://forum.world.st/file/t111409/devKit_34-pageAudit.log>
> devKit_34-pageAudit_3207pageAuditGem.log
> <http://forum.world.st/file/t111409/devKit_34-pageAudit_3207pageAuditGem.log>
>
>
>
> --
> Sent from: http://forum.world.st/GLASS-f1460844.html
> _______________________________________________
> Glass mailing list
> [hidden email]
> https://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass
Reply | Threaded
Open this post in threaded view
|

Re: Updating code in a production system

GLASS mailing list
In reply to this post by GLASS mailing list
Bruno,

With a page audit failure, you will need to restore from backup and
apply tranlogs to repair the db ...

FWIW, we think that the most likely cause of this kind of corruption is
that there was a disk i/o failure of some kind that did not result in an
i/o error ...

Dale

On 1/24/20 10:38 AM, BrunoBB via Glass wrote:

> Hi,
>
> After modifying the system.conf file i was able to execute pageaudit. (see
> attached files)
>
> [gemstone@localhost bin]$ ./pageaudit devKit_34
> .....
> pageaudit[Info]: pageaudit devKit_34-pageAudit has been started, process
> 3182
> pageaudit failure, child status = 3
> For details, see
> /home/gemstone/GsDevKit_home/shared/downloads/products/GemStone64Bit34-pageAudit.log
>
>
> devKit_34-pageAudit.log
> <http://forum.world.st/file/t111409/devKit_34-pageAudit.log>
> devKit_34-pageAudit_3207pageAuditGem.log
> <http://forum.world.st/file/t111409/devKit_34-pageAudit_3207pageAuditGem.log>
>
>
>
> --
> Sent from: http://forum.world.st/GLASS-f1460844.html
> _______________________________________________
> Glass mailing list
> [hidden email]
> https://lists.gemtalksystems.com/mailman/listinfo/glass
_______________________________________________
Glass mailing list
[hidden email]
https://lists.gemtalksystems.com/mailman/listinfo/glass