Issue 323 in glassdb: out of memory during fetch operation

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

Issue 323 in glassdb: out of memory during fetch operation

glassdb
Status: Accepted
Owner: [hidden email]
Labels: Type-Defect Priority-Medium GLASS-Server Version-GLASS0.231

New issue 323 by [hidden email]: out of memory during fetch operation
http://code.google.com/p/glassdb/issues/detail?id=323

While working on upgrade script for http://ss3.gemstone.com/[1] hit an out  
of memory condition during fetch that seemed odd. Here's the old space  
contents:

(vmGc  Instances counts for generation old
      GsMethodDictionary                      id:     99073   10518  
instances  8606648 bytes
      IdentityKeyValueDictionary              id:     90881       4  
instances     1312 bytes
      KeyValueDictionary                      id:     79361      54  
instances    13552 bytes
      Array                                   id:     66817   25790  
instances  1487296 bytes
      ClassHistory                            id:     82689    2627  
instances   126344 bytes
      Symbol                                  id:    110849    2858  
instances   126832 bytes
      String                                  id:     74753   88312  
instances  6088664 bytes
      GsMethod                                id:     98817      60  
instances    36320 bytes
      VariableContext                         id:     84225      49  
instances     3448 bytes
      LargeObjectNode                         id:    209409     574  
instances  9264288 bytes
      IdentitySet                             id:     73985       7  
instances      624 bytes
      CanonSymbolDict                         id:    119553       2  
instances    16560 bytes
      CanonStringBucket                       id:    119041      25  
instances     2000 bytes
      StringKeyValueDictionary                id:     79873       1  
instances     5176 bytes
      CollisionBucket                         id:    114433     358  
instances    41280 bytes
      ByteArray                               id:    103425       7  
instances     2608 bytes
      GsCurrentSession                        id:    103937       1  
instances       56 bytes
      Repository                              id:    124417       1  
instances      104 bytes
      SymbolDictionary                        id:    111361       8  
instances     1296 bytes
      IdentityDictionary                      id:    101633       5  
instances     8808 bytes
      SymbolAssociation                       id:    111617     251  
instances    10040 bytes
      Association                             id:     67073    9574  
instances   382960 bytes
      TimeZone                                id:   8943361       1  
instances       96 bytes
      SymbolList                              id:     78593       1  
instances       56 bytes
      IdentityCollisionBucket                 id:    114177     890  
instances   291528 bytes
      ProcessorScheduler                      id:    116481       1  
instances      112 bytes
      SortedCollection                        id:     92929       4  
instances      584 bytes
      OrderedCollection                       id:     92673   10013  
instances   940128 bytes
      SimpleBlock                             id:     84993     119  
instances    11424 bytes
      ComplexBlock                            id:     85249    1864  
instances   223680 bytes
      GsPackagePolicy                         id:   8013313       1  
instances       64 bytes
      SessionTemps                            id:   7981825       2  
instances      560 bytes
      GsSessionMethodDictionary               id:    126209     108  
instances    60760 bytes
      DateTime                                id:    118785       3  
instances      168 bytes
      ComplexVCBlock                          id:     85505     288  
instances    34560 bytes
      Dictionary                              id:    101377     722  
instances   318472 bytes
      Exception                               id:    230913       5  
instances      320 bytes
      Time                                    id:    100865    2388  
instances    76416 bytes
      Date                                    id:    100609    2379  
instances    95160 bytes
      Set                                     id:    102401      54  
instances     3456 bytes
      DateAndTime                             id:   9607169     129  
instances     5160 bytes
      ClientForwarder                         id:    109569      14  
instances      448 bytes
      GsProcess                               id:     99841       4  
instances      800 bytes
      SessionMethodTransactionBoundaryPolicy  id:  17091841       1  
instances       48 bytes
      TransientRandom                         id:  16736769       1  
instances       48 bytes
      MCWorkingCopy                           id:  18073345       7  
instances      560 bytes
      SystemChangeNotifier                    id:  16807681       1  
instances       40 bytes
      MessageSend                             id:  18072321      25  
instances     1200 bytes
      ActionSequence                          id:  14407681      11  
instances      800 bytes
      Announcer                               id:  36772353       1  
instances       32 bytes
      JadeServer                              id:  16664833       1  
instances       32 bytes
      OBUpdateConcentrator                    id:  34704641       1  
instances       64 bytes
      MCHttpRepository                        id:  16511745       2  
instances      144 bytes
      ConfigurationOfMetacello                id:  35682561       1  
instances       32 bytes
      ConfigurationOftODE                     id: 461712641       1  
instances       32 bytes
      ConfigurationOfSeaside30                id: 122961153       5  
instances      160 bytes
      Gofer                                   id:  28749057       1  
instances       64 bytes
      ExceptionHandler                        id:   9529601       5  
instances      400 bytes
      MetacelloGemStonePlatform               id: 112680193       1  
instances       48 bytes
      MetacelloStackCacheNotification         id:  27929857       3  
instances      264 bytes
      ExceptionSet                            id:   8971521       3  
instances       96 bytes
      Pragma                                  id:  16847361      28  
instances     1344 bytes
      MetacelloMCProject                      id: 120530689      47  
instances     3760 bytes
      MetacelloMCVersionSpec                  id:  25052417    1387  
instances   155344 bytes
      MetacelloValueHolderSpec                id:  27950081    4374  
instances   209952 bytes
      MetacelloMCProjectSpec                  id:  28681985    4203  
instances   437112 bytes
      MetacelloPackageSpec                    id:  28678145   33185  
instances  3716720 bytes
      MetacelloProjectReferenceSpec           id:  27972865    4083  
instances   326640 bytes
      MetacelloPackagesSpec                   id: 112445697    1377  
instances    77112 bytes
      MetacelloMergeMemberSpec                id:  27965185   33333  
instances  1866648 bytes
      MetacelloRepositoriesSpec               id: 120175617    6666  
instances   373296 bytes
      MetacelloRepositorySpec                 id:  28688129    2123  
instances   152856 bytes
      MetacelloAddMemberSpec                  id:  27989505    2309  
instances   129304 bytes
      MetacelloMCVersion                      id:  25127937    1425  
instances    91200 bytes
      MetacelloVersionNumber                  id:  27995393    1387  
instances    73200 bytes
      Locale                                  id:    124161       1  
instances      168 bytes
      MetacelloCopyMemberSpec                 id:  27992577     256  
instances    16384 bytes
      MetacelloGroupSpec                      id:  27974657    1523  
instances   109656 bytes
      MetacelloLoadingMCSpecLoader            id:  28695041     100  
instances     5600 bytes
      MetacelloLoaderPolicy                   id:  28647169     102  
instances     9792 bytes
      MCDictionaryRepository                  id:  17133825     100  
instances     5600 bytes
      ConfigurationOfGofer                    id:  36743169       1  
instances       32 bytes
      MetacelloGoferPackage                   id:  25113345     402  
instances    22512 bytes
      MCPackage                               id:  18326785      24  
instances      768 bytes
      MCWorkingAncestry                       id:  16977153       7  
instances      280 bytes
      MCVersionInfo                           id:  16322305    2388  
instances   210144 bytes
      GoferResolvedReference                  id:  28708097   14652  
instances  1054944 bytes
      ConfigurationOfGsCore                   id:  37115137       5  
instances      160 bytes
      ConfigurationOfGsMisc                   id:  25171713       5  
instances      160 bytes
      ConfigurationOfGsMonticello             id:  17685761       4  
instances      128 bytes
      ConfigurationOfGrease                   id:  36212737       6  
instances      192 bytes
      ConfigurationOfGsOB                     id:  37093121       4  
instances      128 bytes
      MCDirectoryRepository                   id:  16769793       1  
instances       56 bytes
      ServerFileDirectory                     id:  16896257       1  
instances       32 bytes
      NscSetLeaf                              id:    212481       6  
instances    81488 bytes
      MCRepositoryGroup                       id:  16128769       2  
instances       64 bytes
      PackageInfo                             id:  23993857       2  
instances      144 bytes
      MetacelloFetchingMCSpecLoader           id:  18563073     124  
instances     6944 bytes
      MetacelloExplicitLoadDirective          id:  28655361      37  
instances     1776 bytes
      MetacelloLinearLoadDirective            id:  28656385      23  
instances     1104 bytes
      MetacelloGofer                          id: 115220993       2  
instances      128 bytes
      MCVersion                               id:  25312257      23  
instances     1288 bytes
      CachingClassOrganizer                   id:  17093377       1  
instances       80 bytes
      ClassSet                                id:     93697     662  
instances   144424 bytes
      MBConfigurationInfo                     id: 127420929       7  
instances     1120 bytes
      MCClassInstanceVariableDefinition       id:  25330945      21  
instances      672 bytes
      MCPoolImportDefinition                  id:  25321729       1  
instances       32 bytes
      MCClassVariableDefinition               id:  25326081      25  
instances      800 bytes
      MCInstanceVariableDefinition            id:  25324801     627  
instances    20064 bytes
      ChangeSet                               id:  16155905       1  
instances       96 bytes
      ObjectLogEntry                          id:  16892417     129  
instances     9288 bytes
      MCMczReader                             id:  17711105       1  
instances       88 bytes
      MCOrganizationDefinition                id:  18573825      31  
instances      992 bytes
      MCSnapshot                              id:  25337345      23  
instances      736 bytes
      MetacelloPostLoadDirective              id:  28668929       3  
instances      120 bytes
      MetacelloPackageLoadDirective           id:  28662529      23  
instances     1288 bytes
      MetacelloMCVersionSpecLoader            id:  28650241      31  
instances     1984 bytes
      MCMethodDefinition                      id:  18688513    6814  
instances   490608 bytes
      MCClassDefinition                       id:  16983553     640  
instances    51200 bytes
      MetacelloLoadData                       id:  28645633       1  
instances       48 bytes
      ConfigurationOfBibliocello              id: 952431617       1  
instances       32 bytes
      MethodVersionRecord                     id:  16173825      40  
instances     2560 bytes
      MetacelloCachingGoferResolvedReference  id:  25161985      48  
instances     3840 bytes
      MetacelloAtomicLoadDirective            id:  28652289       9  
instances      648 bytes
      RWBinaryOrTextStream                    id:  16457729       2  
instances      112 bytes
      MetacelloRemoveMemberSpec               id:  27968257       9  
instances      504 bytes
      ConfigurationOfSeasideRest              id: 125440769       1  
instances       32 bytes
      ConfigurationOfSwazoo2                  id: 427723521       4  
instances      128 bytes
      ConfigurationOfGsFastCGI                id: 199590913       4  
instances      128 bytes
      UUID                                    id:  16507905    2388  
instances    95520 bytes
      ZipFileMember                           id:  16149761       4  
instances      864 bytes
      ZipArchive                              id:  16196865       1  
instances       72 bytes
      ConfigurationOfRefactoringBrowser       id: 924452353       1  
instances       32 bytes
      ConfigurationOfXMLSupport               id: 126040321       3  
instances       96 bytes
      GsClassDocumentation                    id:     95233       1  
instances      104 bytes
      StringPair                              id:     94209    2625  
instances   105000 bytes
      AutoComplete                            id:     93953       1  
instances       40 bytes
      SymbolSet                               id:    113921      26  
instances     5408 bytes
      RcQueueSessionComponent                 id:    109057       1  
instances     7696 bytes
      RcQueueEntry                            id:    124673     129  
instances     7224 bytes
      ConfigurationOfKaliningrad              id: 3645205761       1  
instances       32 bytes


[1] http://code.google.com/p/squeaksource3/wiki/UpgradeToDoSs3ToRc2

Reply | Threaded
Open this post in threaded view
|

Re: Issue 323 in glassdb: out of memory during fetch operation

glassdb

Comment #1 on issue 323 by [hidden email]: out of memory during  
fetch operation
http://code.google.com/p/glassdb/issues/detail?id=323

8M of GsMethodDictionary with 10518 instances in temp space Loading mcz  
files and configurations?

1.8M of MetacelloMergeMemberSpec with 33333 instances?

Multiple fetches in multiple steps seems to be the culprit as if the dicts  
and member specs are accumulating in session state from somewhere and not  
just from one load ...

Could the 4 GsProcesses be implicated?

1M of GoferResolvedReference with 14652 instances might be indicative of  
some big repos...

I think the GsMethodDictionary instances have to be explained first ...

Reply | Threaded
Open this post in threaded view
|

Re: Issue 323 in glassdb: out of memory during fetch operation

glassdb

Comment #2 on issue 323 by [hidden email]: out of memory during  
fetch operation
http://code.google.com/p/glassdb/issues/detail?id=323

Split the prefetch script out separately and this is the one that blows  
temp memory:

   
http://code.google.com/p/squeaksource3/wiki/UpgradePrefetchWorkspaceSs3ToRc2

Reply | Threaded
Open this post in threaded view
|

Re: Issue 323 in glassdb: out of memory during fetch operation

glassdb
Updates:
        Labels: -Version-GLASS0.231 Version-2.4.5

Comment #3 on issue 323 by [hidden email]: out of memory during  
fetch operation
http://code.google.com/p/glassdb/issues/detail?id=323

(No comment was entered for this change.)

Reply | Threaded
Open this post in threaded view
|

Re: Issue 323 in glassdb: out of memory during fetch operation

glassdb
Updates:
        Status: Fixed

Comment #4 on issue 323 by [hidden email]: out of memory during  
fetch operation
http://code.google.com/p/glassdb/issues/detail?id=323

Turns out that as part of Metacello Issue 163[1], the druntime caches were  
not be correctly cleared and that lead to excessive memory bloat.

Fixed in Metacello 1.0-beta.31.2 ...

[1] http://code.google.com/p/metacello/issues/detail?id=163