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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions