Git Product home page Git Product logo

auth0-extension-tools's People

Contributors

antham avatar chrisscott avatar fadymak avatar faroceann avatar fyockm avatar gkwang avatar luisbritos avatar lzychowski avatar mostekcm avatar plaguna avatar sandrinodimattia avatar sgmeyer avatar shawnmclean avatar twistedstream avatar zxan1285 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

auth0-extension-tools's Issues

Vulnerabilities in dependencies

Support retries on write conflicts

The webtaskStorageContext forces writes by default, which means that it does not take into account the fact that there can be write conflicts (concurrent writes).

We have to consider the fact that extensions set force: 0 which will cause write errors. Our write method should have a retry mechanism where we can wait a little bit and retry again.

Now merging happens on a higher level in the blobRecordProvider. This is where for example a record is removed from the JSON file and then saved again. The retry logic should happen here:

  1. Fetch whole JSON
  2. Make change (eg: delete record)
  3. Write JSON
  4. Conflict, wait 100ms
  5. Fetch whole JSON again
  6. Make change again
  7. Write JSON again
  8. Success

Step 5/6 are important because the change must be applied to the latest version of the JSON. The retry count (eg: try this max 4 times) and the incremental interval (first after 100ms, then after 500ms, then after 1s, ...) should be configurable.

Example retry library: https://www.npmjs.com/package/retry

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.