Giter Club home page Giter Club logo

Comments (4)

jsteemann avatar jsteemann commented on June 15, 2024 1

@wyattwalter : exactly. Unfortunately, a sequence of @ ... @ in command-line options (e.g. @foo@) is interpreted as a placeholder for environment variables, and will be replaced with the value of that environment variable (or the empty string if not set). This is an older feature for dynamic command-line option values about 8 years ago, which is even briefly mentioned in the docs.

Unfortunately the current behavior leads to ambiguity.

While using @@ could be treat specially and not be replaced, it would still be unclear what to do with values such as @abc@def. The @abc@ could means an environment variable abc or the literal string @abc@.
The workarounds for this are exactly as you already described in the ticket:

Workarounds that do work:

  • leave the option off and let it prompt (this doesn't work in scripts)
  • add an additional '@' for each one in the string. i.e. if the password is 'foo@@' then use 'foo@@@@'

If we'd change the behavior now to not replace sequences of @ ... @, I guess that would be the desired behavior for most people, because the replacement of @ ... @ often comes as a surprise and is totally unexpected. Changing it now however would change the behavior for everyone who has run into the issue already and has established the second workaround (i.e. replacing every @ with a @@) already. Unfortunately this makes the whole issue non-trivial to resolve, because we will somehow need to keep the current behavior available, at least as an option, and it is currently unclear how to select the desired behavior programmatically.

from arangodb.

Simran-B avatar Simran-B commented on June 15, 2024 1

Related PR to improve the startup option description: #20876

from arangodb.

dothebart avatar dothebart commented on June 15, 2024 1

You were not the first by far - hence the cause of action ;)

from arangodb.

wyattwalter avatar wyattwalter commented on June 15, 2024

Thank you both! That makes sense, I had missed that bit.

from arangodb.

Related Issues (20)

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.