Giter Site home page Giter Site logo

Comments (10)

shadowcat-mst avatar shadowcat-mst commented on May 27, 2024 1

I can't find any mention of the 9.3 to 9.4 change either.

I'm not objecting to your using the latest stable version of PostgreSQL, I just feel like it should be called out more loudly, just like similarly breaking changes in Mojolicious are - remember I've been a great supporter of your deprecation policy in Mojolicious since it was written up.

Would you take a documentation patch to Minion::Backend::Pg specifically saying that people probably shouldn't put minion in the same postgresql install as other applications so they can upgrade the minion postgresql install safely?

from minion.

shadowcat-mst avatar shadowcat-mst commented on May 27, 2024 1

Well, the problem I've hit is that a customer didn't do that, and is now having to move it to a spearate PostgreSQL installation, because their primary one can't go to 9.5 without a lot more testing and a scheduled maintenance window.

I mean, basically, the choices here are:

  1. Put minion in a separate database
  2. Don't use Minion::Backend::Pg
  3. Don't upgrade minion

Which of those would you find preferable?

from minion.

shadowcat-mst avatar shadowcat-mst commented on May 27, 2024 1

Ok. Can we please have a warning in Changes in big letters when that happens though (preferably including a retroactive one for the 9.5 change) - a postgres upgrade between major versions is a really, really big deal for a lot of companies and one line in the Minion::Backend::Pg documentation is demonstrably not enough to stop people shooting themselves in the foot.

(once there is such a warning in the changelog they'll probably still do it sometimes anyway, but at that point I'll be happy to tell them they're fools and should read the changelog next time :)

from minion.

kraih avatar kraih commented on May 27, 2024

It was done in 5.0, a major release. The documentation of Minion::Backend::Pg specifically mentions it too.

Note that this backend uses many bleeding edge features, so only the
latest, stable version of PostgreSQL is fully supported.

If you need more backwards compatibility guarantees i recommend 3rd party backends, like Minion::Backend::Pg91.

from minion.

kraih avatar kraih commented on May 27, 2024

Not sure i even agree about deploying Minion on a separate PostgreSQL installation.

from minion.

kraih avatar kraih commented on May 27, 2024

That said, PostgreSQL 9.5 was a very special case, it brought new tools specifically for job queues (SKIP LOCKED). Doubt we'll have the same problem again anytime soon.

from minion.

kraih avatar kraih commented on May 27, 2024

Sure, the Minion upgrade should have been harmless though, and easily reversible. We've added a hardcoded version check to Minion::Backend::Pg that croaks immediately before making any changes to the schema.

from minion.

shadowcat-mst avatar shadowcat-mst commented on May 27, 2024

It was, but they wanted the new features, and it's caused a bit of drama because of the complete lack of warning until they tried to fire things up.

Like I say, the Minion code is perfectly fine here, I'm in no way complaining about that. I was just want a warning in BIG RED LETTERS or equivalent in the changelog so people are warned.

from minion.

kraih avatar kraih commented on May 27, 2024

I've added a note retroactively. 1dfd934
But i'm afraid i do not remember what the PostgreSQL 9.3 situation was, maybe i went straight from MongoDB to PostgreSQL 9.4 and unintentionally supported 9.3 for a time.

from minion.

shadowcat-mst avatar shadowcat-mst commented on May 27, 2024

That seems fair enough, and given you're making sure it croak()s if it doesn't see the version of pg it intends to support that'll never be a problem again, so I'm untroubled by it.

Thanks very much for the retroactive note!

from minion.

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.