These are chat archives for ManageIQ/manageiq/performance

13th
Oct 2016
Keenan Brock
@kbrock
Oct 13 2016 12:54
@Fryguy have keys to ancestry, if anything left to go into 2.2, let me know. I want to release 3.0 to drop rails 3.x support
Chris Arcand
@chrisarcand
Oct 13 2016 13:58
@kbrock Is there a specific reason you’re dropping 3.2 support or…? Just curious.
Keenan Brock
@kbrock
Oct 13 2016 14:31
@chrisarcand aah - want to use a feature from rails 4.0 which makes the queries ~10x faster (but just the sql query part - so I'm not sure if it will pay off in the long run)
the test matrix is very complicated between supporting rails 3.x nd 4.x and ruby 1.9.3 and 2.x
Chris Arcand
@chrisarcand
Oct 13 2016 14:32
Easy to just not use it if Rails < 4?
¯\_(ツ)_/¯ sweet.
Keenan Brock
@kbrock
Oct 13 2016 14:32
I'm considering moving the logic into a mixin
so it mixes in rails 3 version and rails 4 version
and it mixes in a postgres version vs other version
not sure if it is worth it
Chris Arcand
@chrisarcand
Oct 13 2016 14:33
Prolly not.
Supporting Rails 3 is nice if its easy
Keenan Brock
@kbrock
Oct 13 2016 14:33
well, I do want features that are postgres specific
Chris Arcand
@chrisarcand
Oct 13 2016 14:33
So adapterize it?
Keenan Brock
@kbrock
Oct 13 2016 14:33
yea, basically
currently order it
I want postgres specific sorting
Oleg Barenboim
@chessbyte
Oct 13 2016 14:34
is adapterize even a word?
Keenan Brock
@kbrock
Oct 13 2016 14:34
order by case ancestry is nil then 1 else 0 end, ancestry
which doesn't use indexes
Joe Rafaniello
@jrafanie
Oct 13 2016 14:34
@chessbyte, it should be
Keenan Brock
@kbrock
Oct 13 2016 14:34
although, not sure if anything will for the sort
in postgres you can
order by ancestry null first
which uses indexes
or if we change the sort order for our indexes, then it would be
order by ancestry
but my main goal is changing ancestry ilike '1/2/3/% (default for rails) to ancestry like 1/2/3/%
which relies upon a rails 4.x upgrade to arel
chris you like supporing ruby 1.9.3 and rails 3.x?
if you're not using arel, or monkey patching much, it should be easy
Chris Arcand
@chrisarcand
Oct 13 2016 14:38
Ruby upgrades are so much easier and I’m not as forgiving with people using 1.9.3
So I try to support Rails 3.2 but Ruby 2+
Keenan Brock
@kbrock
Oct 13 2016 14:38
does rails 3.2 support ruby 2+?
Chris Arcand
@chrisarcand
Oct 13 2016 14:38
Yeah
Keenan Brock
@kbrock
Oct 13 2016 14:38
thought that was disabled in ancestry
Chris Arcand
@chrisarcand
Oct 13 2016 14:39
I thought so anyway
Keenan Brock
@kbrock
Oct 13 2016 14:39
maybe it was unnecessary - that will simplify things.
Chris Arcand
@chrisarcand
Oct 13 2016 14:40
Yeah I’d drop Ruby 1.9 support like its hot
Keenan Brock
@kbrock
Oct 13 2016 14:40
do you have tests for 3.2, 4.0, 4.1, 4.2, 5.0? or just 3.2, 4.2, 5.0?
Chris Arcand
@chrisarcand
Oct 13 2016 14:41
Latest major versions are good enough for me, but I guess depends on importance of gem
Majors + whatever is currently supported by Rails
Keenan Brock
@kbrock
Oct 13 2016 16:07
@chrisarcand do you also support postgres, mysql, sqlite3 in your matrix?
and do you support ruby 2.2 and 2.3?
the permutations just seem to get out of control quickly.
Chris Arcand
@chrisarcand
Oct 13 2016 16:08
I don’t have any db gems that require db vendors. I’d assume you might want to test those, yeah.
There’s no right or wrong answer here, depends on what you are willing to support and the scope of users/contributors you might want to attract :D
Nick LaMuro
@NickLaMuro
Oct 13 2016 16:09
and that, everyone, is how @chrisarcand dodges directly answering a question ;)
Chris Arcand
@chrisarcand
Oct 13 2016 16:09
I feel like many gems test suites aren’t large enough not to test all sorts of things. And don’t forget allowed failures.
Hah. Not really. It’s just a fact. People have all sorts of opinions on what to include in CI and what not to. I go off of “Would I fix a bug if someone reported it?” The answer is usually yes for me and Rails 3.2 even though I never use it.
cough OkComputer cough @NickLaMuro
Keenan Brock
@kbrock
Oct 13 2016 16:11
good idea - will listen to that right now
Nick LaMuro
@NickLaMuro
Oct 13 2016 16:12
I am trolling a bit (and still playing a bit of catch-up), but I would just say "we officially test and support: x, y, z. Though it might work with a, b, c"
Chris Arcand
@chrisarcand
Oct 13 2016 16:13
Right, exactly. But then you have a grey area with “I know this will break this old version, and I could easily use an older API/syntax to avoid it, but then again we don’t really support it…"
¯\(°_o)/¯ computers
Keenan Brock
@kbrock
Oct 13 2016 16:14
yes, I want to specifically introduce something that is not supported in the older versions
so I was stabalizing the 2.0 branch, releasing it
and creating a 3.0 branch that has that api change
but the alternative is to stick with 2.0 and introduce a different mechanism of partitioning those 2 code bases. namely modules
Nick LaMuro
@NickLaMuro
Oct 13 2016 16:17
following the bundler chat, the 3.0 approach can tough if you don't push a release quickly, and you end up maintaining that for a long time
their 2.0 is going to drop support for sub ruby 2 versions, but they have been maintaining the 2.0 stable branch for over a year
so if you go that route (probably the cleaner one long term in terms of bitrot), then if you want to maintain the v2 branch, just make sure you have a stable branch sitting somewhere that you can backport to
Oleg Barenboim
@chessbyte
Oct 13 2016 16:37
why would we support Rails 3.2 if Rails Core team is not?
@kbrock @chrisarcand @NickLaMuro I do not understand the basis of the argument
Joe Rafaniello
@jrafanie
Oct 13 2016 16:43
I would assume we're aiming to not break compatibility unless we need to... I wouldn't go out of the way to make it work with 3.2 though.
Chris Arcand
@chrisarcand
Oct 13 2016 17:22
^ Exactly. @chessbyte Because we’re good stewards of OSS :D
Ooh if Rails team isn’t. Because many people still use it.
Hence ‘wouldn’t go out of the way’. If it requires a completely different module to be loaded, that’s too far out of the way imo :)
Most of the opinions said in here are general opinions, I think (at least mine). Is ancestry widely used and active? Are we the only ones using it? Those are important questions.