<div dir="ltr"><div>+1 to remove MariaDB/MySQL support</div><div><br></div><div><br></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 15, 2019 at 10:09 AM Dennis Kliban <<a href="mailto:dkliban@redhat.com">dkliban@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">+1 to drop support for mariadb<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 15, 2019 at 10:04 AM Austin Macdonald <<a href="mailto:amacdona@redhat.com" target="_blank">amacdona@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">+1 to remove. <br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 14, 2019 at 4:10 PM Brian Bouterse <<a href="mailto:bbouters@redhat.com" target="_blank">bbouters@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I believe we have reached a point where Pulp (core and its plugins) can no longer support MariaDB due to technical problems. I've been an advocate for Pulp to support MariaDB because it's what our users want. The community survey has 16 respondents (IIRC) and 30% of them said they wanted to use MariaDB. Also, anecdotally at conference booths, users want choice in their database. To not give them that, we need good, technical reasons. I didn't feel we had enough of them before, but now I feel we're at a point where we aren't able to solve these issues; it's becoming a choice of giving users features they want versus db portability.<br></div><div><br></div><div>Here are the main reasons I think about (mostly what others have also stated):<br></div><div><br></div><div>* utf8 issues - 3-byte utf-8 issues   <---- is this fixable with just a schema change?<br></div><div>* full text search - pulp_ansible recently implemented full text search. To my knowledge it's not possible with MySQL. full text search is amazing, and it's driving pulp_ansible to drop postgreSQL. I bet all plugins will want this. With MariaDB, there is no search.<br></div><div>* mixed plugin support concerns - With some plugins dropping support for MariaDB, the pulp community will fracture based on what DB you choose to use because not all plugins can run in all places.<br></div><div>* specific field support - plugin writers have expressed the desire to store json data when their plugins natively contain json data and perhaps you want to filter on it for example. Having mariaDB support prevents us from using the JSONField.</div><div>* performance concerns - The performance testing showed that Pulp does run significantly slower</div><div><br></div><div>If we drop MariaDB we should publish a blog post and drop it with RC4. To remove MariaDB testing from Travis I propose we remove it from the plugin_template and use the Travis CI tool from @dkliban to push that config out to all repositories.</div><div><br></div><div>I'll be offline this week. I wanted to get this reply out there in the hope that you all can make and enact the final decision.</div><div><br></div><div>Thanks,</div><div>Brian<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 11, 2019 at 4:02 PM Daniel Alley <<a href="mailto:dalley@redhat.com" target="_blank">dalley@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>One more note:  Not all MySQL / MariaDB installations support transactions, which we use heavily (and rely on?)<br></div><div><br></div><div><a href="https://docs.djangoproject.com/en/2.2/topics/db/transactions/#transactions-in-mysql" target="_blank">https://docs.djangoproject.com/en/2.2/topics/db/transactions/#transactions-in-mysql</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 11, 2019 at 3:55 PM David Davis <<a href="mailto:daviddavis@redhat.com" target="_blank">daviddavis@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Two plugins are currently running into issues trying to support mariadb/mysql. The pulp_ansible plugin is interested in adding full text search and JSONFields. Meanwhile, the pulp_python plugin is trying to store emojis in text which mariadb/mysql doesn't handle well since it uses 3-byte utf-8 by default[0]. Given such cases, I wonder if we'd be better served by dropping mariadb/mysql support and going with Postgresql only. Gitlab recently came to a similar conclusion[1].<div><br></div><div>I personally am hesitant to give up being database agnostic but we already don't support sqlite. Also, I see some advantages like utilizing several Postgresql-only features like extra field types, full text search, etc. Also, supporting multiple databases means we'll likely have to write db specific code in some places or have plugins that only work with certain database types.</div><div><br></div><div>Thoughts?<br><div><br></div><div>[0] <a href="https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434" target="_blank">https://medium.com/@adamhooper/in-mysql-never-use-utf8-use-utf8mb4-11761243e434</a></div><div>     <a href="https://code.djangoproject.com/ticket/18392" target="_blank">https://code.djangoproject.com/ticket/18392</a><br clear="all"><div><div dir="ltr" class="gmail-m_4513670985005471545gmail-m_6781906471675054731gmail-m_-2780290453869757828gmail-m_2423206758855196899gmail-m_-7856562874949260500gmail-m_7512431652177882813gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>[1] <a href="https://about.gitlab.com/2019/06/27/removing-mysql-support/" target="_blank">https://about.gitlab.com/2019/06/27/removing-mysql-support/</a></div><div><br></div><div>David<br></div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>