Skip to content

Temporary Archive File Misalignment after Restart in Clustered mode #741

@ctsims

Description

@ctsims

In a multi-worker cluster, the fact that the Archive File Cache isn't keyed at all by worker (and thus by filesystem) means that after a restart, if another worker has added a different key for the archive, the local request will fail with

org.javarosa.core.reference.InvalidReferenceException: Error deriving reference with exception jr://archive/6776c4dd73c94fdf908e7d6561591104/default/app_strings.txt.
        at engine.FormplayerArchiveFileRoot.derive(FormplayerArchiveFileRoot.java:51)
        at org.javarosa.core.reference.ReferenceManager.DeriveReference(ReferenceManager.java:134)
        at org.javarosa.core.reference.ReferenceManager.DeriveReference(ReferenceManager.java:88)
        at org.javarosa.core.reference.ReferenceDataSource.getLocalizedText(ReferenceDataSource.java:45)

for the first request until the archive is re-fetched. The Archive File Root process also does not ever attempt to successfully re-link any archives which are recovered successfully from the redis cache into the native guidToFolderMap cache if it DOES succeed in re-deriving it, whcih seems intentional

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions