Git Product home page Git Product logo

Comments (3)

jerrinot avatar jerrinot commented on June 15, 2024 1

providing a config option is relatively low impact long term

I know @bluestreak01 has a different view, but I disagree with this sentiment. Config options are evil! :)

Each config option:

  1. Makes the product more complicated. Important options (say timeouts) or drowning in "compatibility switches" and feature flags.
  2. Increases testing surface. You should test different combinations, etc. It gets out of hand quickly.

This is not to say we should never introduce a feature flag or have a policy on it. I merely want to challenge the idea that "switches" and "feature flags" are cheap.

from questdb.

nwoolmer avatar nwoolmer commented on June 15, 2024 1

To clarify, what I meant to say was that flags with a narrow scope and (ideally) temporary are cheap, versus wide scope and permanent. I totally agree that we don't want to end up with a ball of feature flag mud!

For that particular feature (choosing whether you want to default to CALENDAR vs FIRST OBSERVATION alignment), it seemed low impact. Even this perhaps should have been a temporary option.

For the other PR, it changes the SQL parser so having a 'get-out' with a temporary flag seemed to be sensible. It means that we can revert the change before release if there's an issue, and we can release bugfixes to users even if they can't migrate yet. It should be removed in the following version except in extenuating circumstances.

Ideally, we wouldn't include any flag for most breaking changes, to keep things simple.

from questdb.

jerrinot avatar jerrinot commented on June 15, 2024

I can agree with that :)

from questdb.

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.