Skip to content

UI to read the remaining space #918

Open

Description

@kjetilk

Quota enforcement is nearly finished in #841 , but obviously, we'd like the user to be able to track the amount that they are using.

The easiest fix for this is to have a simple API exposure, but AFAIK, we can't use an ACL to restrict who can see the remaining quota, and I don't think we should expose it.

So, the better solution is to put it in the RDF along with the quota. That's more work, but it also means that the space left doesn't need to be computed real-time, so it is a solution that would scale better.

However, as there are many issues open, it needs a different prioritization, so I'm opening this issue for it.

Activity

  1. self-assigned this
    on Nov 14, 2018
  2. megoth commented on Nov 14, 2018

    @megoth
    Contributor

    I've proposed a property to indicates how much disk space is in use (solid/vocab#37), but think I also need a property that indicates where serverSide.ttl resides, so that I can fetch that data. Or am I missing an existing property for this already?

  3. RubenVerborgh commented on Nov 14, 2018

    @RubenVerborgh
    Contributor

    Regarding serverSide.ttl: solid/vocab#37 (comment)

  4. added and removed
    priority-highto be used for important issues and pull requests that need to be addressed soon
    on Nov 14, 2018
  5. TallTed commented on Dec 27, 2018

    @TallTed
    Member

    This may not be the best issue to add this comment; feel free to redirect me/it.

    In catching up on a lot of discussion and updates, it seems that when the "test quota on write" fails it results in a notification to the attempting writer -- so if @kjetilk tries to write to @RubenVerborgh's INBOX and that write would exhaust quota, @kjetilk gets notified -- but @RubenVerborgh does not.

    This is troublesome, as @kjetilk's best (and possibly only) way to inform @RubenVerborgh of this problem is via his inbox ... which is full. I think that this is a place where NSS might use @RubenVerborgh's email address to send such a notification without consuming further NSS-quota.

  6. megoth commented on Dec 27, 2018

    @megoth
    Contributor

    This may not be the best issue to add this comment; feel free to redirect me/it.

    In catching up on a lot of discussion and updates, it seems that when the "test quota on write" fails it results in a notification to the attempting writer -- so if @kjetilk tries to write to @RubenVerborgh's INBOX and that write would exhaust quota, @kjetilk gets notified -- but @RubenVerborgh does not.

    This is troublesome, as @kjetilk's best (and possibly only) way to inform @RubenVerborgh of this problem is via his inbox ... which is full. I think that this is a place where NSS might use @RubenVerborgh's email address to send such a notification without consuming further NSS-quota.

    I think this is better suited as its own issue? But I think it's definitely something we should consider some solution for.

  7. megoth commented on Jan 21, 2019

    @megoth
    Contributor

    So I'm getting to the point where a user has a virtual resource that gives you the size available in the POD (solid:storageQuota) and how much is currently used (solid:storageUsed). We should use some kind of caching mechanism, and I'm wondering if anyone has any suggestions?

  8. RubenVerborgh commented on Jan 21, 2019

    @RubenVerborgh
    Contributor

    Can you cache in a tree? If you keep a tree, wherein each node is a tuple (size, max(lastModified, children))?

    And then use one of the tricks in https://stackoverflow.com/questions/5566310/how-to-recursively-find-and-list-the-latest-modified-files-in-a-directory-with-s to see whether a file was modified in the last 5 minutes?

  9. megoth commented on Jan 21, 2019

    @megoth
    Contributor

    I introduced this conversation in solid/node-solid-server as well, and think I landed on using lru-cache to cache the response that is created.

    I think that's a better match then creating a cache-mechanism from scratch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions