<div dir="ltr">Michael, thanks for all the clear info in the bugs by the way!<div><br></div><div>I also got good results from running the tests under tmpfs - the 3.2 run was almost acceptably fast. But obviously it's not practical to require every machine running the tests to have a tmpfs mounted (or somehow mount one in the test run).</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, May 18, 2016 at 10:36 AM Michael Hudson-Doyle <<a href="mailto:michael.hudson@canonical.com">michael.hudson@canonical.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 18 May 2016 at 21:32, Christian Muirhead<br>
<<a href="mailto:christian.muirhead@canonical.com" target="_blank">christian.muirhead@canonical.com</a>> wrote:<br>
> WiredTiger is *much* slower at creating and dropping indexes and<br>
> collections. I haven't worked out why that is, other than doing some<br>
> stracing and seeing that a lot of time is spent in fdatasync - I haven't dug<br>
> into the mongo source code.<br>
<br>
Yeah, this is what I concluded too. I tried running mongo under<br>
eatmydata but it didn't work for reasons I didn't get around to<br>
understanding. I even built a mongo with the fdatasync call commented<br>
out but then I moved onto other things...<br>
<br>
Cheers,<br>
mwh<br>
<br>
> There's a bit more detail in these bugs:<br>
> <a href="https://bugs.launchpad.net/juju-core/+bug/1573294" rel="noreferrer" target="_blank">https://bugs.launchpad.net/juju-core/+bug/1573294</a><br>
> <a href="https://jira.mongodb.org/browse/SERVER-21198" rel="noreferrer" target="_blank">https://jira.mongodb.org/browse/SERVER-21198</a><br>
><br>
> I've changed the tests so that instead of dropping and recreating databases<br>
> in teardown and setup we clear out all of the collections (except the<br>
> transaction collections) between tests. Obviously that's worse from the<br>
> perspective of test isolation, but it seems to work well - better than I was<br>
> expecting, to be honest.<br>
><br>
> Cheers,<br>
> Christian<br>
><br>
> On Wed, May 18, 2016 at 9:58 AM roger peppe <<a href="mailto:roger.peppe@canonical.com" target="_blank">roger.peppe@canonical.com</a>><br>
> wrote:<br>
>><br>
>> Out of interest, what's causing the 3.2 slowdown and what's the hack to<br>
>> speed it up again?<br>
>><br>
>> On 18 May 2016 09:51, "Christian Muirhead"<br>
>> <<a href="mailto:christian.muirhead@canonical.com" target="_blank">christian.muirhead@canonical.com</a>> wrote:<br>
>>><br>
>>><br>
>>><br>
>>> On Wed, May 18, 2016 at 2:04 AM David Cheney <<a href="mailto:david.cheney@canonical.com" target="_blank">david.cheney@canonical.com</a>><br>
>>> wrote:<br>
>>>><br>
>>>> 100x more webscale<br>
>>><br>
>>> Ha!<br>
>>><br>
>>> I'm *just about* finished the hack to make the state tests on 3.2 run in<br>
>>> about the same time as on 2.4. On my machine the state tests take 6m24s on<br>
>>> 3.2 and the old version took 4m56s. Which is still worse, unfortunately, but<br>
>>> at least it isn't 100x worse. So if there are stability benefits to running<br>
>>> the tests on 3.2 it's still a win, I guess?<br>
>>><br>
>>><br>
>>>><br>
>>>><br>
>>>> On Wed, May 18, 2016 at 11:02 AM, Horacio Duran<br>
>>>> <<a href="mailto:horacio.duran@canonical.com" target="_blank">horacio.duran@canonical.com</a>> wrote:<br>
>>>> > For now we are trying to go around mongo issues that make the tests<br>
>>>> > 100x<br>
>>>> > slower (yes one hundred) once this is fixed we should start using<br>
>>>> > mongo 3.2<br>
>>>> > exclusively since 2.4 iirc is EOL or near. The issue lies in the new<br>
>>>> > storage<br>
>>>> > engine, which we could skip if mmapv1 ( the old one) wasn't also<br>
>>>> > nearing EOL<br>
>>>> > I am currently on the phone but if You want more details I can dig up<br>
>>>> > the<br>
>>>> > bug with details of what I am talking about.<br>
>>>> ><br>
>>>> ><br>
>>>> > On Tuesday, 17 May 2016, David Cheney <<a href="mailto:david.cheney@canonical.com" target="_blank">david.cheney@canonical.com</a>><br>
>>>> > wrote:<br>
>>>> >><br>
>>>> >> What's the plan for mongo 3.2 ? Will we be required to support 2.x<br>
>>>> >> versions for the foreseeable future, or is there a possibility to<br>
>>>> >> make<br>
>>>> >> it a build or run time failure if mongo < 3.2 is installed on the<br>
>>>> >> host<br>
>>>> >> ?<br>
>>>> >><br>
>>>> >> On Wed, May 18, 2016 at 9:01 AM, Martin Packman<br>
>>>> >> <<a href="mailto:martin.packman@canonical.com" target="_blank">martin.packman@canonical.com</a>> wrote:<br>
>>>> >> > On 17/05/2016, Curtis Hovey-Canonical <<a href="mailto:curtis@canonical.com" target="_blank">curtis@canonical.com</a>> wrote:<br>
>>>> >> >><br>
>>>> >> >> The juju-mongo2.6 package will be be preferred by juju 1.2.5 in<br>
>>>> >> >> xenial<br>
>>>> >> >> and without other changes, 2.4 will be used by all other 1.25<br>
>>>> >> >> series.<br>
>>>> >> ><br>
>>>> >> > This isn't yet true, there's a bug open for it:<br>
>>>> >> ><br>
>>>> >> > "Use juju-mongodb2.6 for 1.25 on xenial"<br>
>>>> >> > <<a href="https://bugs.launchpad.net/ubuntu/+source/juju-core/+bug/1570650" rel="noreferrer" target="_blank">https://bugs.launchpad.net/ubuntu/+source/juju-core/+bug/1570650</a>><br>
>>>> >> ><br>
>>>> >> > I had made the packaging change, but without juju code changes as<br>
>>>> >> > well<br>
>>>> >> > it just went and installed the old (2.4) juju-mongodb anyway when<br>
>>>> >> > setting up a state server.<br>
>>>> >> ><br>
>>>> >> > Martin<br>
>>>> >> ><br>
>>>> >> > --<br>
>>>> >> > Juju-dev mailing list<br>
>>>> >> > <a href="mailto:Juju-dev@lists.ubuntu.com" target="_blank">Juju-dev@lists.ubuntu.com</a><br>
>>>> >> > Modify settings or unsubscribe at:<br>
>>>> >> > <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
>>>> >><br>
>>>> >> --<br>
>>>> >> Juju-dev mailing list<br>
>>>> >> <a href="mailto:Juju-dev@lists.ubuntu.com" target="_blank">Juju-dev@lists.ubuntu.com</a><br>
>>>> >> Modify settings or unsubscribe at:<br>
>>>> >> <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
>>>><br>
>>>> --<br>
>>>> Juju-dev mailing list<br>
>>>> <a href="mailto:Juju-dev@lists.ubuntu.com" target="_blank">Juju-dev@lists.ubuntu.com</a><br>
>>>> Modify settings or unsubscribe at:<br>
>>>> <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
>>><br>
>>><br>
>>> --<br>
>>> Juju-dev mailing list<br>
>>> <a href="mailto:Juju-dev@lists.ubuntu.com" target="_blank">Juju-dev@lists.ubuntu.com</a><br>
>>> Modify settings or unsubscribe at:<br>
>>> <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
>>><br>
><br>
> --<br>
> Juju-dev mailing list<br>
> <a href="mailto:Juju-dev@lists.ubuntu.com" target="_blank">Juju-dev@lists.ubuntu.com</a><br>
> Modify settings or unsubscribe at:<br>
> <a href="https://lists.ubuntu.com/mailman/listinfo/juju-dev" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/juju-dev</a><br>
><br>
</blockquote></div>