nodeSolidServer / nodeSolidServer/node-solid-server

.lock files show up in directory listings

Open
#1,485 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
JavaScript
Stars
1.8k
Forks
308
PR merge metrics
No merged PRs in 30d

Description

This bug is hard to reproduce timing-wise, but I have received at least one directory listing containing a .lock file.

For reference, this is what it looked like:

@prefix : <#>.
@prefix inbox: <>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
@prefix terms: <http://purl.org/dc/terms/>.
@prefix XML: <http://www.w3.org/2001/XMLSchema#>.
@prefix dcd: <dcd04010-0722-11eb-aaa1-f5587892eb36.ttl.lock/>.
@prefix st: <http://www.w3.org/ns/posix/stat#>.
@prefix tur: <http://www.w3.org/ns/iana/media-types/text/turtle#>.

inbox:
    a ldp:BasicContainer, ldp:Container;
    terms:modified "2020-10-05T19:22:19Z"^^XML:dateTime;
    ldp:contains
        <378f8150-0728-11eb-aaa1-f5587892eb36.ttl>,
        <4870d3e0-073f-11eb-aaa1-f5587892eb36.ttl>,
        <92f0e640-073e-11eb-aaa1-f5587892eb36.ttl>,
        <abf84aa0-0731-11eb-aaa1-f5587892eb36.ttl>,
        <dcd04010-0722-11eb-aaa1-f5587892eb36.ttl>, dcd:;
    st:mtime 1601925739.707;
    st:size 4096.
<378f8150-0728-11eb-aaa1-f5587892eb36.ttl>
    a tur:Resource, ldp:Resource;
    terms:modified "2020-10-05T16:31:27Z"^^XML:dateTime;
    st:mtime 1601915487.715;
    st:size 531.
<4870d3e0-073f-11eb-aaa1-f5587892eb36.ttl>
    a tur:Resource, ldp:Resource;
    terms:modified "2020-10-05T19:16:34Z"^^XML:dateTime;
    st:mtime 1601925394.459;
    st:size 552.
<92f0e640-073e-11eb-aaa1-f5587892eb36.ttl>
    a tur:Resource, ldp:Resource;
    terms:modified "2020-10-05T19:11:29Z"^^XML:dateTime;
    st:mtime 1601925089.955;
    st:size 552.
<abf84aa0-0731-11eb-aaa1-f5587892eb36.ttl>
    a tur:Resource, ldp:Resource;
    terms:modified "2020-10-05T17:39:08Z"^^XML:dateTime;
    st:mtime 1601919548.486;
    st:size 531.
<dcd04010-0722-11eb-aaa1-f5587892eb36.ttl>
    a tur:Resource, ldp:Resource;
    terms:modified "2020-10-05T15:53:07Z"^^XML:dateTime;
    st:mtime 1601913187.983;
    st:size 531.
dcd:
    a ldp:BasicContainer, ldp:Container, ldp:Resource;
    terms:modified "2020-10-05T19:22:19Z"^^XML:dateTime;
    st:mtime 1601925739.711;
    st:size 4096.

Note how it ends with .lock/ as opposed to just .lock, which might be the reason why it is not caught.

Should be fixed when not using on-disk locking anymore (#1475), but wanted to mention this in case there would be issues with other magic extensions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files or tests are identified in the issue. Start by examining the directory-listing behavior and the on-disk locking work referenced in #1475, then use the reported Turtle listing as the reproduction target. Done means temporary .lock entries no longer appear in listings while regular resources remain present.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.