Re: [Maria-developers] ceb75e9bd9e: MDEV-30203: Move mysql symlinks to different package (fixes)

2023-02-10 Thread Daniel Black
On Fri, Feb 10, 2023 at 6:20 AM Sergei Golubchik  wrote:
>
> Hi, Daniel,
>
> On Feb 09, Daniel Black wrote:
> > revision-id: ceb75e9bd9e (mariadb-10.11.1-152-gceb75e9bd9e)
> > parent(s): 526fce28b90
> > author: Daniel Black
> > committer: Daniel Black
> > timestamp: 2023-02-09 12:20:57 +1100
> > message:
> >
> > MDEV-30203: Move mysql symlinks to different package (fixes)
> >
> > Fixes MDEV-30571 MariaDB-client does not pull MariaDB-compat anymore,
conflicts with RHEL packages
> >
> > Fixes MDEV-30574 MariaDB-server conflicts with MariaDB-common from
previous versions
> >
> > MariaDB-Server now depends on MariaDB-common 11.0+.
> >
> > MariaDB-{Client,Server} append to the Requirements rather than
overriding them.
> >
> > MariaDB-Server package now depends on the MariaDB-client 11.0+.
> >
> > Because of moves between packages MariaDB-Client conflicts with
> > MariaDB-server < 11.0.0.
> >
> > diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
> > index 638f6b2dabb..e88a5493eac 100644
> > --- a/cmake/cpack_rpm.cmake
> > +++ b/cmake/cpack_rpm.cmake
> > @@ -189,7 +189,7 @@ FOREACH(SYM_COMPONENT Server Client)
> >SET(CPACK_RPM_${SYM}_PACKAGE_ARCHITECTURE "noarch")
> >SET(CPACK_RPM_${SYM}_USER_FILELIST ${ignored})
> >STRING(TOLOWER ${SYM_COMPONENT} SYM_COMPONENT_LOWER)
> > -  SET(CPACK_RPM_${SYM}_PACKAGE_REQUIRES
"MariaDB-${SYM_COMPONENT_LOWER} >= 11.0.0")
> > +  SETA(CPACK_RPM_${SYM}_PACKAGE_REQUIRES
"MariaDB-${SYM_COMPONENT_LOWER} >= 11.0.0")
>
> why?
>

Small bit of caution with a number of places adding REQUIRES to use SETA
over SET in case the order of evaluation isn't consistent and this isn't
executed first.

No immediate fix resulted from this but it seemed prudent to keep.


> >SETA(CPACK_RPM_${SYM_COMPONENT_LOWER}_PACKAGE_RECOMMENDS
"MariaDB-${SYM}")
> >  ENDFOREACH()
> >
> > @@ -205,10 +205,10 @@ SETA(CPACK_RPM_client_PACKAGE_PROVIDES
> >"mysql-client"
> >"mytop")
> >  SETA(CPACK_RPM_client_PACKAGE_CONFLICTS
> > -  "MariaDB-server < 10.6.0")
> > +  "MariaDB-server < 11.0.0")
>
> because of resolve-stack-dump, ok
>
> >  SETA(CPACK_RPM_common_PACKAGE_CONFLICTS
> > -  "MariaDB-server < 10.6.1")
> > +  "MariaDB-server < 11.0.0")
>
> why?

No good reason. reverted. d385856d10883029e7e2c7904603dc6774e5e338, which
resolved the MDEV-30571 MariaDB-common depends on MariaDB-compat for
unexplained reasons.

[root@localhost ~]# rpm -qlp MariaDB-common-11.0.0-1.el7_9.x86_64.rpm
 --requires | grep com
MariaDB-compat
libcom_err.so.2()(64bit)

Additionally an explicit MariaDB-client -> MariaDB-common requirement
3294ef9186beb0842ad1ba38d4952b9a7fc2a7e8 to satisfy the rest of MDEV-30571.

I'm just waiting for the end of the bb build to validate this properly.
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] f984f49fba7: MDEV-30203 - deb fix piuparts

2022-12-20 Thread Daniel Black
Latest clean version: https://github.com/MariaDB/server/pull/2390

note https://github.com/MariaDB/server/pull/2382 is required as without it,
the compat packages are required.

Salsa happiness with two combined:

https://salsa.debian.org/grooverdan/mariadb-server/-/pipelines/473457

Lintian is noisy, but that was there already. WIP exists elsewhere to clean
it up.

Packages coming to https://ci.mariadb.org/31092/ in the next hr for
reference (has both #2382 and #2390)
from branch bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages-salsa
(same as Salsa).

On Wed, Dec 21, 2022 at 6:59 AM Sergei Golubchik  wrote:

> Hi, Daniel,
>
> On Dec 20, Daniel Black wrote:
> > updated as bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages on top
> > of bb-11.0-serg branch
>
> please, rebase again (your three commits adjusting tests to 11.0 will
> disappear). Also, see below:
>

done


>
> > > > diff --git a/cmake/symlinks.cmake b/cmake/symlinks.cmake
> > > > index 3f3b4e4a9b5..a4eb6c2b42c 100644
> > > > --- a/cmake/symlinks.cmake
> > > > +++ b/cmake/symlinks.cmake
> > > > @@ -12,7 +12,6 @@ endmacro()
> > > >  REGISTER_SYMLINK("mariadb" "mysql")
> > > >  REGISTER_SYMLINK("mariadb-access" "mysqlaccess")
> > > >  REGISTER_SYMLINK("mariadb-admin" "mysqladmin")
> > > > -REGISTER_SYMLINK("mariadb-backup" "mariabackup")
> > >
> > > better not. there're scripts that might be using it.
> > > This is why I suggested `strncmp(my_progname, "mariadb", 7)`
> > > and not `strncmp(my_progname, "maria", 5)` in your PR
> >
> > ok. Moved to direct link creation as REGISTGER_SYMLINK is used to
> > determine compat links.
>
> Why not to use compat links? I mean, you create compat links for the
> test component and manually list it for
>
> +SET(CPACK_COMPONENT_TESTSYMLINKS_GROUP "test")
>
> so it doesn't create MariaDB-test-compat. This would work for backup
> too, wouldn't it?
>

right, done.


>
> > sure, lets try - pushed
> > bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages
> >
> > https://salsa.debian.org/grooverdan/mariadb-server/-/pipelines/472980
>
> apparently salsa was unhappy with it. "missing breaks".
> does it mean we have to keep that?
>
>
afraid so.

I've stuck with Conflicts only based on
https://www.debian.org/doc/debian-policy/ch-relationships.html

> > > --- a/debian/mariadb-backup.install
> > > > +++ b/debian/mariadb-backup.install
> > > > @@ -1,6 +1,4 @@
> > > > -usr/bin/mariabackup
> > >
> > > same here. needs mariadb-backup-compat
> >
> > for the time being I've kept mariadb-backup as the only package (no
> > mariadb-backup-compat) and it still has the exe symlink
> >
> > > >  usr/bin/mariadb-backup
> > > >  usr/bin/mbstream
> > > > -usr/share/man/man1/mariabackup.1
> >
> > but this man link is removed.
>
> why did you remove this man symlink? I thought Debian is pretty strict
> on having manpages for everything
>

handled man pages for this and s3/rocksdb engine better in the updated
branch
(man pages are actually in the X-engine package rather than server).
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] f984f49fba7: MDEV-30203 - deb fix piuparts

2022-12-19 Thread Daniel Black
updated as bb-11.0-danielblack-MDEV-30203-pkgtest-symlink-packages on top
of bb-11.0-serg branch

On Tue, Dec 20, 2022 at 2:16 AM Sergei Golubchik  wrote:

> Hi, Daniel,
>
> This is a review of `git diff 12786f0e779f 5f76981eb649`, that is, for
> commits:
>
> 5f76981eb64 rpm: packages that dont match component name
> 25eaa0aebfa MDEV-30205: [Cmtr: suite look in mariadb-test path
> 0981201f027 mtr - wsrep use mariadb executables
> eba0b35035a mtr: maradb names for *embedded and mariadb-client-test
> 974ca88f0fe deb: fix autotest - exclude for MDEV-30205
> b19d75408bb Deb: Breaks/Replaces/COnflicts
> c60f0341950 MDEV-30203 deb breaks/replaces on compat packages
> f984f49fba7 MDEV-30203 - deb fix piuparts
> 310d025ff0d MDEV-30205: fix deb autopkgtest
> 89f6cf47ee2 rpm: fix packaging of compat/non-compat scripts links
> 494ed76d15a deb: mysqlhotcopy to mariadb-client-compat
> d03075f3a1f deb: server-core mysql* -> server-compat
> 9453812193d wsrep_sst_mariabackup to use mariadb-backup (and message
> accordingly)
> a4f843a7a5a Fix uncollected symlink
> eb9a469bf9a Add package recommended dependencies
> c135be62274 Remove duplicate entry
> 84c7cd29c61 Fix Debian packaging for mariabackup
> 5dbc7ae8bb4 MDEV-30203: compat packages - RPM  remove mariabackup link
> eb4fa5d750f MDEV-30203: debian - make compat packages
> d4be0b9be73 MDEV-30203: Create mysql symlink packages (RPM) - scripts
> 441879fd493 MDEV-30203: Create mysql symlink packages (RPM)
>
> On Dec 19, Daniel Black wrote:
>
> > diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
> > index 339363b2169..7b48fd64f4c 100644
> > --- a/cmake/cpack_rpm.cmake
> > +++ b/cmake/cpack_rpm.cmake
> > @@ -85,6 +85,35 @@ SET(CPACK_RPM_server_PACKAGE_DESCRIPTION
> "${CPACK_RPM_PACKAGE_DESCRIPTION}")
> >  SET(CPACK_RPM_test_PACKAGE_SUMMARY "MariaDB database regression test
> suite")
> >  SET(CPACK_RPM_test_PACKAGE_DESCRIPTION
> "${CPACK_RPM_PACKAGE_DESCRIPTION}")
> >
> > +# "set/append array" - append a set of strings, separated by a space
> > +MACRO(SETA var)
> > +  FOREACH(v ${ARGN})
> > +SET(${var} "${${var}} ${v}")
> > +  ENDFOREACH()
> > +ENDMACRO(SETA)
> > +
> > +FOREACH(SYM_COMPONENT Server Client Test)
> > +  SET(SYM ${SYM_COMPONENT}_symlinks)
> > +  string(TOLOWER ${SYM} SYM)
>
> * why all cmake commands are uppercase, but `string` is lowercase?
> * SET is redundant, you can do
>
>   STRING(TOLOWER ${SYM_COMPONENT}_symlinks SYM)
>
> ack


> * may be, better to use ${SYM_COMPONENT}-symlinks ?
>   Like in MariaDB-server-symlinks ?
>

Ack, at some point it was assumed to be finicky about "-", but really it
was the case.


>
> > +  SET(SYMCOMP ${SYM_COMPONENT}Symlinks)
> > +  string(TOUPPER ${SYMCOMP} SYMCOMP_UPPER)
> > +  SET(CPACK_COMPONENT_${SYMCOMP_UPPER}_GROUP "${SYM}")
> > +  SET(CPACK_COMPONENTS_ALL "${CPACK_COMPONENTS_ALL}" "${SYMCOMP}")
> > +  SET(CPACK_RPM_${SYM}_PACKAGE_SUMMARY "MySQL compatible symlinks for
> MariaDB database ${SYM_COMPONENT} binaries/scripts")
> > +  SET(CPACK_RPM_${SYM}_PACKAGE_DESCRIPTION
> "${CPACK_RPM_PACKAGE_DESCRIPTION}")
> > +  SET(CPACK_RPM_${SYM}_PACKAGE_ARCHITECTURE "noarch")
> > +  SETA(CPACK_RPM_${SYM_COMPONENT}_PACKAGE_RECOMMENDS "MariaDB-${SYM}")
>
> You forgot to say that symlink package DEPENDS on the non-symlink package
>
>
ack


> > +ENDFOREACH()
> > +
> > +# TODO change to 11.0 on rebase
> > +SETA(CPACK_RPM_client_symlinks_PACKAGE_CONFLICTS
> > +  "MariaDB-client < 10.11.2"
> > +  "MariaDB-server < 10.11.2")
> > +SETA(CPACK_RPM_server_symlinks_PACKAGE_CONFLICTS
> > +  "MariaDB-server < 10.11.2")
> > +SETA(CPACK_RPM_test_symlinks_PACKAGE_CONFLICTS
> > +  "MariaDB-test < 10.11.2")
> > +
> >  # libmariadb3
> >  SET(CPACK_RPM_shared_PACKAGE_SUMMARY "LGPL MariaDB database client
> library")
> >  SET(CPACK_RPM_shared_PACKAGE_DESCRIPTION "This is LGPL MariaDB client
> library that can be used to connect to MySQL
> > diff --git a/cmake/symlinks.cmake b/cmake/symlinks.cmake
> > index 3f3b4e4a9b5..a4eb6c2b42c 100644
> > --- a/cmake/symlinks.cmake
> > +++ b/cmake/symlinks.cmake
> > @@ -12,7 +12,6 @@ endmacro()
> >  REGISTER_SYMLINK("mariadb" "mysql")
> >  REGISTER_SYMLINK("mariadb-access" "mysqlaccess")
> >  REGISTER_SYMLINK("mariadb-admin" "mysqladmin")
> > -REGISTER_SYMLINK("mariadb-backup" "mariabac

Re: [Maria-developers] How to know when a FUNCTION is AGGREGATE?

2022-06-17 Thread Daniel Black
On Wed, Jun 15, 2022 at 3:36 PM Martijn Tonies (Upscene Productions) <
m.ton...@upscene.com> wrote:

>
> Here's another one that MariaDB could fix ;)
>

Or anyone that can contribute.


> https://bugs.mysql.com/bug.php?id=11082


Can you please create an issue in our bug tracker. While we'll occasionally
search bugs.mysql.com, its not tracked.
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MDEV-10654] Review request

2021-11-03 Thread Daniel Black
Manohar,

Thank you very much for your contribution.

This isn't an area of code I'm particularly familiar with however I'll
find someone who is.

Is this code really only applicable in ORACLE mode? I think its ok if
it isn't the syntax doesn't conflict with non-oracle mode, provide the
default is sp_variable::MODE_IN.

What would significantly help is writing a test case. Enough to
demonstrate the OUT / INOUT portions of the code, and that the error
is generated when incorrectly called.

Create a new file like mysql-test/suite/compat/oracle/t/ps.test (or
mysql-test/main/function.test) that creates functions, calls them in a
way that their results can be observed and the behaviour recorded.

Use --error ER_SF_OUT_INOUT_ARG_NOT_ALLOWED before the SQL statements
that generate errors.

Use mtr --record {file} to record the result file, check its contents
is what is expected.

Append and force push to the same branch. Rebase to 10.7 latest if you
are comfortable.


On Tue, Nov 2, 2021 at 11:59 AM Manohar K B  wrote:
>
> Hi All,
>
> Good day.
>
>
>
> I have fixed ticket MDEV-10654 and raised PR.
>
> Can someone kindly review it?
>
>
>
> This is the first time I am contributing to MariaDB,
>
> so please guide me if I missed anything.
>
>
>
> Best regards,
>
> Manohar.
>
>
>
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] INSTEAD OF triggers

2021-10-04 Thread Daniel Black
Alexandre,

Are you still interested in implementing MDEV-12151 ?

It's a useful feature, and in my previous email I was just making sure
that if MariaDB partitions suited your needs you could use them.

If you'd still like to implement INSTEAD OF triggers we''d be happy to
help you on the journey.


On Tue, Sep 28, 2021 at 7:05 AM Nikita Malyavin
 wrote:
>
> Hello Alexandre!
>
> I think it's better to start from finding the complete reference of the 
> feature, so you (and everybody else) would clearly understand all the details 
> and corner cases.
>
> Then you can create a jira task (if it's not there yet) to track all the 
> notes and maybe progress: jira.mariadb.com
> [Please, use the search first]
> Anyway you'll need the task, because it's ID is required to be in git commit 
> header and a pull request.
>
>
> Good luck with the research!
>
> Nikita Malyavin
> Software engineer of Mariadb
>
> 24-09-2021 г., 18:44 Alexandre hadjinlian guerra :
>>
>> Hello
>>
>> Im looking forward to implement this feature in MariaDB, and will look after 
>> trigger definition code/modules in MariaDB, but any wisdom that could be 
>> shared to speed up my efforts would be greatly appreciated.
>>
>> The idea is to provide the same functionality as describe here
>> https://aws.amazon.com/pt/blogs/database/implementing-table-partitioning-in-oracle-standard-edition-part-1/
>
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] INSTEAD OF triggers

2021-09-27 Thread Daniel Black
Opps, meant to send to list too.

On Sat, Sep 25, 2021 at 5:28 PM Daniel Black  wrote:
>
> Hi Alexandre,
>
> Given the aws blog is written around that Oracle SE doesn't have
> partitions and EE does, does it still make sense with MariaDB (that
> includes partitions as standard -
> https://mariadb.com/kb/en/partitioning-tables/)?
>
> Take a look at the way partitions are implemented, they may offer what
> you plan to write in a slightly different way.
>
> If you are sure you want to embark on this journey,  there is a
> feature request for this issue
> https://jira.mariadb.org/browse/MDEV-12151
>
> Recommend starting by describing exactly what you plan to implement in
> this issue. Reference existing implementations like
> https://www.postgresql.org/docs/current/sql-createtrigger.html make
> notes of differences and what you plan to cover (and not cover)
>
> I assume you've come across the generic
> https://mariadb.org/get-involved/getting-started-for-developers/ .
> Start with a fork from the 10.7 branch
>
> First bit is sql/sql_yacc.yy trg_action_time that is the parsing syntax.
>
> If you `git grep TRG_ACTION_AFTER` the code you should contain the
> places that will need a TRG_ACTION_INSTEAD_OF handling.
>
> Also look at the set of tests  in $ find mysql-test -name \*trigger\*
>
> Any problems, find us on
> https://mariadb.zulipchat.com/#narrow/stream/118759-general for some
> more realtime  help.
>
> On Sat, Sep 25, 2021 at 1:44 AM Alexandre hadjinlian guerra
>  wrote:
> >
> > Hello
> >
> > Im looking forward to implement this feature in MariaDB, and will look 
> > after trigger definition code/modules in MariaDB, but any wisdom that could 
> > be shared to speed up my efforts would be greatly appreciated.
> >
> > The idea is to provide the same functionality as describe here
> > https://aws.amazon.com/pt/blogs/database/implementing-table-partitioning-in-oracle-standard-edition-part-1/
> >
> > Thanks
> >
> > ___
> > Mailing list: https://launchpad.net/~maria-developers
> > Post to : maria-developers@lists.launchpad.net
> > Unsubscribe : https://launchpad.net/~maria-developers
> > More help   : https://help.launchpad.net/ListHelp

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Old buildbot 10.5 branch failure review

2021-03-18 Thread Daniel Black
On Fri, Mar 19, 2021 at 11:24 AM Elena Stepanova  wrote:

> Hi Otto,
>
> On 3/18/21 8:50 AM, Otto Kekäläinen wrote:
> > Hello!
> >
> > I noticed there are quite a lot of upgrade test failures on the 10.5
> > branch, which is a stable release and should definitely be all green
> > all the time.
> >
> > Here is quick review of those issues with suggested fixes. Maybe
> > Daniel or Elena can do them?
> >
> > They are all easy ones and would make 7 currently red CI steps turn into
> green.
> >
> >
> > ## Overview:
> >
> http://buildbot.askmonty.org/buildbot/grid?branch=10.5&category=main&category=experimental
> >
> > ## kvm-deb-buster-amd6 minor-upgrade-all
> > (
> http://buildbot.askmonty.org/buildbot/builders/kvm-deb-buster-amd64/builds/3995/steps/minor-upgrade-all/logs/stdio
> ):
> >
> > ++ diff -U1000
> /home/buildbot/mariadb.org-tools-master/buildbot/baselines/ldd.10.5.buster.amd64
> > /home/buildbot/ldd.new
> > ---
> /home/buildbot/mariadb.org-tools-master/buildbot/baselines/ldd.10.5.buster.amd64
> > 2021-03-16 21:03:04.0 -0400
> > +++ /home/buildbot/ldd.new 2021-03-17 17:23:42.066634818 -0400
> > - liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1
> >
> > Seems some dependency stopped including liblz4. This didn't affect
> > MariaDB. This is a valid change and the fix is to "reset" the
> > ldd.10.5.buster.amd64 file on buildbot.askmonty.org so that there
> > would be no diff no more.
> >
>
> It says that ha_mroonga.so which was linking with liblz4 isn't anymore.
> I don't know why it happened, and maybe it's legit this time, but this
> is exactly the situation for which this whole check was added, and
> mroonga seems to have a lot of code related to lz4; so I will need
> someone's (probably Sergei's) confirmation that it's expected before I
> change the baseline. Or maybe Daniel knows why it has happened, that
> will also be sufficient.
>

I did a brief look yesterday. It seems parts of mroonga are configured to
use lz4.

So it seems like a legitimate failure, however I haven't looked at why it
stopped finding /linking against it.
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] 7807d9b6939: MDEV-22974: mysql_native_password make "invalid" valid

2020-10-30 Thread Daniel Black
That works for me.

Pushed first patch with above simple fix.

On Sat, Oct 31, 2020 at 4:45 AM Sergei Golubchik  wrote:
>
> Hi, Daniel!
>
> On Oct 26, Daniel Black wrote:
> > On Thu, Oct 22, 2020 at 8:25 PM Sergei Golubchik  wrote:
> > >
> > > Hi, Daniel!
> > >
> > > On Oct 22, Daniel Black wrote:
> > > > @@ -14539,6 +14539,12 @@ static int native_password_get_salt(const char 
> > > > *hash, size_t hash_length,
> > > >
> > > >if (hash_length != SCRAMBLED_PASSWORD_CHAR_LENGTH)
> > > >{
> > > > +if (hash_length == 7 && strcmp(hash, "invalid") == 0)
> > > > +{
> > > > +  memcpy(out, "invalid", 7);
> > > > +  *out_length= 7;
> > > > +  return 0;
> > > > +}
> > >
> > > okay. After you said ASAN, I think I can see why this could be
> > > problematic.
> > >
> > Updated:
>
> I don't see why you did it that complex with invalid_password and
> everything. It seems you could've fixed the ASAN error from your first
> patch with just
>
> @@ -14498,7 +14498,7 @@ static int 
> native_password_authenticate(MYSQL_PLUGIN_VI>
>info->password_used= PASSWORD_USED_YES;
>if (pkt_len == SCRAMBLE_LENGTH)
>{
> -if (!info->auth_string_length)
> +if (info->auth_string_length != SCRAMBLE_LENGTH)
>DBUG_RETURN(CR_AUTH_USER_CREDENTIALS);
>
>  if (check_scramble(pkt, thd->scramble, (uchar*)info->auth_string))
>
> Regards,
> Sergei
> VP of MariaDB Server Engineering
> and secur...@mariadb.org

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] 7807d9b6939: MDEV-22974: mysql_native_password make "invalid" valid

2020-10-25 Thread Daniel Black
On Thu, Oct 22, 2020 at 8:25 PM Sergei Golubchik  wrote:
>
> Hi, Daniel!
>
> On Oct 22, Daniel Black wrote:
> > SHOW CREATE USER; dilignently uses this value in its output
> > generating the SQL:
> >
> >MariaDB [(none)]> show create user;
> >
> >
> > +---+
> >| CREATE USER for dan@localhost  
> >|
> >
> > +---+
> >| CREATE USER `dan`@`localhost` IDENTIFIED VIA mysql_native_password 
> > USING 'invalid' OR unix_socket |
> >
> > +---+
> >
> > Attempting to execute this before this patch resutls in:
> >
> >   MariaDB [(none)]>  CREATE USER `dan2`@`localhost` IDENTIFIED VIA 
> > mysql_native_password USING 'invalid' OR unix_socket;
> >   ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
> >
> > As such deep the the implementation of mysql_native_password we make
> > "invalid" valid (pun intended) such that the above create user will
> > succeed.
> >
> > native_password_get_salt is only called in the context of
> > set_user_salt, so all setting of native passwords to hashed content of
> > 'invalid', quite literally create an invalid password.
> >
> > So other forms of "invalid" are valid SQL in creating invalid passwords:
> >
> >MariaDB [(none)]> set password = 'invalid';
> >Query OK, 0 rows affected (0.001 sec)
> >
> >MariaDB [(none)]> alter user dan@localhost IDENTIFIED BY PASSWORD 
> > 'invalid';
> >Query OK, 0 rows affected (0.000 sec)
> >
> > diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
> > index d94016b7815..3cd7a67ae1a 100644
> > --- a/sql/sql_acl.cc
> > +++ b/sql/sql_acl.cc
> > @@ -14539,6 +14539,12 @@ static int native_password_get_salt(const char 
> > *hash, size_t hash_length,
> >
> >if (hash_length != SCRAMBLED_PASSWORD_CHAR_LENGTH)
> >{
> > +if (hash_length == 7 && strcmp(hash, "invalid") == 0)
> > +{
> > +  memcpy(out, "invalid", 7);
> > +  *out_length= 7;
> > +  return 0;
> > +}
>
> okay. After you said ASAN, I think I can see why this could be
> problematic.
>
> You can, of course, pad it to SCRAMBLED_PASSWORD_CHAR_LENGTH, but then
> you'll create a *valid* scramble that would correspond to some actual
> password.

yikes.

> One option would be to allow "invalid" literal in set_user_auth(),
> before even any plugin checks. But I'm unsure of the implications.
>

Updated:

bb-10.4-danielblack-MDEV-22974-mysql_native_password-make-invalid-valid
with 2 commits:

first addresses this review:
https://github.com/MariaDB/server/commit/9a478b11de26fb43f8a7df4253f80d549cd41ab1

In native_password_get_salt we set a scramble of an invalid length. We
check the length in
native_password_authenticate before even looking at the contents of
the scrambled password.

This keeps the implementation confined to the native_auth implementation.

second - d5ddbdcf61218a0a45228d2f22fe4dd77a7fe7c8 accepts the mysql
invalid password forms
(and becomes slightly more strict on our invalid forms (those not
beginning with '*'))

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Test failure in main.mysqld--help on x32

2020-10-04 Thread Daniel Black
mysql-test/t/xxx.test got changed to mysql-test/main/xxx.test

Use the parts of the merge commit:

https://github.com/MariaDB/server/commit/1c587481966abc7a9ad5309d0a91ca920f7a5657#diff-69f3d6de377352b6ed59388922d5e448

On Mon, Oct 5, 2020 at 4:01 PM Otto Kekäläinen  wrote:
>
> Hello!
>
> After uploading MariaDB 10.5.5 to Debian I came across that the test
> main.mysqld--help is failing on arch x32:
>
> **
> main.mysqld--help 'unix' w1 [ fail ]
> Test ended at 2020-09-28 19:24:57
>
> CURRENT_TEST: main.mysqld--help
> --- /<>/mysql-test/main/mysqld--help.result2020-08-07
> 12:57:35.0 +
> +++ /<>/mysql-test/main/mysqld--help.reject2020-09-28
> 19:24:57.628353544 +
> @@ -1797,10 +1797,10 @@
>  sync-relay-log-info 1
>  sysdate-is-now FALSE
>  system-versioning-alter-history ERROR
> -table-cache 421
> +table-cache 2000
>  table-definition-cache 400
> -table-open-cache 421
> -table-open-cache-instances 1
> +table-open-cache 2000
> +table-open-cache-instances 8
>  tc-heuristic-recover OFF
>  tcp-keepalive-interval 0
>  tcp-keepalive-probes 0
>
> main.flush_logs_not_windows  w2 [ fail ]
> Test ended at 2020-09-28 19:25:55
>
> CURRENT_TEST: main.flush_logs_not_windows
> mysqltest: At line 10: query 'flush logs' succeeded - should have
> failed with errno 1004...
> **
>
> Any tips on what to do about this?
>
> On Zulip I was tipped about
> https://github.com/MariaDB/server/commit/deb365581b96527c5c96b3f5ed1235e10543f5f1
> but it does not apply on 10.5.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Please assign PRs that modify debian/ contents for Otto to review

2020-08-14 Thread Daniel Black
Apologies,

It was to correct some other broken things.

Can I see a change log of your corrections to understand what went wrong?

Totally agree that it was mostly process error and review that went wrong,
so yes. PR merged. Let's do that. Nice and automated.

Best wishes with the talk.


On Fri, Aug 14, 2020 at 4:50 AM Otto Kekäläinen  wrote:

> Hello!
>
> While working on putting MariaDB 10.5.5 into Debian I noticed that
> there were a couple of commits that landed more or less on the same
> day as the release was made and "broke" it just before release. Now
> there are surprises in a stable release I need to fix and the
> situation puts extra strain on me.
>
> It is good that many people participate in maintaining the contents of
> debian/ in the MariaDB Server, because I don't have time to do
> everything. I would however appreciate that when changes are made, I
> would be given a chance to review them. I will review them
> post-release anyway and it would save a lot of trouble, if we can fix
> stuff during the development cycle and not having to patch a
> post-release in order to be able to put it forward to Debian/Ubuntu.
>
> So, please make PRs of any debian/ changes you make, and feel free to
> add me as the reviewer (or one of the reviewers).
>
> This policy can also be automated using a .github/CODEOWNERS file, so
> I made a PR about it at https://github.com/MariaDB/server/pull/1650
>
> Thanks!
>
> PS. I will deliver a MariaDB 10.5 and MariaDB in Debian status talk at
>
> https://debconf20.debconf.org/talks/98-whats-new-in-mariadb-server-105-and-galera-4/
> in case anybody is interested to listen in.
>
> --
> Follow me at @ottokekalainen
>
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Maria-discuss] OSX fix need on MariaDB-10.5

2020-05-08 Thread Daniel Black
On Fri, 8 May 2020 14:35:29 -0400
Justin Swanhart  wrote:

> You don't have hardware to work on your own supported platform? Or you
> can't figure it out?
> 

I didn't have hardware,

However thanks to Etienne Guesnet AIX was having the same fault
and came up with this patch which allows most of the OSX tests on travis to 
pass:

https://github.com/MariaDB/server/pull/1518

A few more details in the jira issue: https://jira.mariadb.org/browse/MDEV-22173

Hoping this can be merged soon because its a fairly simple fix.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] OSX fix need on MariaDB-10.5

2020-04-27 Thread Daniel Black

Mac lovers (who can use C/C++ and a debugger),

As your MariaDB developers are hard at work getting 10.5 ready for you, 
unfortunately a bug has slipped into the 10.5 branch making it unusable on OSX 
(at least that's what it looks like on the CI infrastructure).

The bug report is here:

https://jira.mariadb.org/browse/MDEV-22173

As the time of developers is a little short as is the availability of OSX 
hardware, I'm hoping some of you are able to spend a few hours tackling this 
task to understand it better, and if possible, create patch.

Steps:
 1. build environment https://mariadb.com/kb/en/Build_Environment_Setup_for_Mac/
 2. clone the source 
git clone --branch 10.5 https://github.com/MariaDB/server.git mariadb-server
cd mariadb-server
git submodule update --recursive --init
 3. build instructions https://mariadb.com/kb/en/generic-build-instructions/ 
(you don't need to install)
 4. test (from build directory)
  mysql-test/mysql-test-run  main.select

might be useful here:

--debugger=NAME or --gdb
client-debugger=NAME or client-gdb


To collaborative share your findings and to ask for further help MariaDB's 
community chat stream has been created for you.

https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/Get.20OSX.20working.20on.2010.2E5.20-.20MDEV-22173

To paraphrase J.F.Kennedy

ask not what your database server community can do for you — ask what you can 
do for your database server community.


Keep the community spirit going,

Daniel Black
--
Sent as a community member who noticed OSX failures and that everyone is busy

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MariaDB-10.4 / Galera and GTIDs - aka we now have two different GTID implementations

2019-03-03 Thread Daniel Black


Hi,

I was excited to come across the Galera-4 release notes and blog.

http://galeracluster.com/2019/02/galera-cluster-4-available-for-use-in-the-latest-mariadb-10-4-3-release-candidate/

It was good to see causal read functions that I'd hoped for in
https://jira.mariadb.org/browse/MDEV-10715.

WSREP_LAST_WRITTEN_GTID/WSREP_LAST_SEEN_GTID/ WSREP_SYNC_WAIT_UPTO_GTID
functions  which seemed to mirror existing functions like
MASTER_GTID_WAIT and GTID variables. The reason these are different
names is because a MariaDB GTID is different from a Galera one.

*Having two GTID implementations is insane*. To state the obvious
from a user point of view, we've now got two Global Transaction
Identification implementations. Application and framework writers like
Django/Drupal now have to handle now try to handle consistently with
----:25 for Galera and 0-1-33 for
MariaDB async gtid replication. This is not just a format
string difference. The an implementation requires a disparate set of
functions to implement when they could of been consolidated. A mixed
topology setup could be hidden from the application implementation if
the same functions where used. There is/was also a option/proposal that
had MariaDB gtid in the protocol save a round trip retrieval of a GTID
- quite useful.

There is also a bunch of documentation that refers to GTID and its
going to absolutely horrible to try to keep the concepts separated as
you try to configure a system.

An issue like MDEV-10715, the most voted for and watched open issue in
JIRA, (and related MDEV-14153), should of had a very priority than this
when the implementation from Codership was been merged. This shoehorned
in implementation from Codership is a very poor fit.

Giving MDEV-10715 a critical priority and a 10.5 target is fiction when
there isn't going to be a new galera wsrep api implementation for a
number of years. An extra field in the protocol is all it would of
taken (comment in MDEV-10715 from 8 months ago).

10.4.3 is out (really an RC?), the galera code got merge in 10.4.2, and
the source code of galera-4 isn't even released.

Hopefully the tight relationship between MariaDB Corporation and
Codership is enough to get this fixed because from an architectural
point of view, because the current implementation shouldn't of been
merged (contractual arrangement or not).

Developers, MariaDB and Codership you've lost track of your user base
because the feedback, that is readily available, is ignored.

Sadly,

Daniel


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Help request: Contribute to MariaDB 10.3 in Debian efforts

2019-01-06 Thread Daniel Black



I see the tradition of collecting a number of non-upstream patches with
limited descriptions continues:

https://salsa.debian.org/mariadb-team/mariadb-10.3/tree/master/debian/patches

It would be good to see these submitted upstream... some of which are
obsolete by outstanding PRs so confirming the suitability of these
would be appreciated:

https://github.com/MariaDB/server/pull/979
https://github.com/MariaDB/server/pull/597
https://github.com/MariaDB/server/pull/510

There are other PRs that aim to fix other broken aspects of Debian
packaging:

https://github.com/MariaDB/server/pull/843
https://github.com/MariaDB/server/pull/605
https://github.com/MariaDB/server/pull/530
https://github.com/MariaDB/server/pull/528


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] 84c9ec5: MDEV-15473 Isolate/sandbox PAM modules, so that they can't crash the server.

2018-06-21 Thread Daniel Black (vnet)



Is this compatible with passing through additional items like
https://github.com/MariaDB/server/pull/631 ?


As we discussed, there should be some ways to prevent it being used
to brute-force passwords. It'll be suid root, so it cannot be
made executable only by "mysql" user.

I see two approaches here:

 1. getuid() and check that the user name is "mysql"
 2. getppid() and check that it matches the value in a pid_file

second is heavier (one might need to read my.cnf to find the location
of a pid_file).


There isn't always a pidfile any more (systemd services)


first hard-codes the user name.
oh, a third approach. create a new directory under plugin-dir, say
auth_tool with permissions r-x-- and owned by "mysql".
Put the actual executable there, so nobody besides "mysql" user
will be able to get to it.

Yes, this seems the easiest, fastest, and most flexible too :)


Yes, quite like the approach here.

/usr/libexec/ is a more common  directory for these helper services.

Might need additional selinux rules for this.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] FYI: 10.3 master branch head builds OK Launchpad all architectures

2018-04-10 Thread Daniel Black


On 10/04/18 02:04, Otto Kekäläinen wrote:
> Regarding the test that permanently fails on Travis-CI and keeps it
> from being green I filed https://jira.mariadb.org/browse/MDEV-15814
> 
> 
> If Travis-CI was all green (=this one test fixed or disabled) we could

PR with commit to disable test from Dec 1, 2017:

https://github.com/MariaDB/server/pull/505/commits/9fce41be75a1620f11bdcbfd305c4ede1919ae16



___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] FYI: 10.3 master branch head builds OK Launchpad all architectures

2018-04-05 Thread Daniel Black


On 05/04/18 19:48, Otto Kekäläinen wrote:
> Hello!
> 
> Just for the record, I've done some small tweaks to 10.3

Great work so far.

> so that it now
> builds perfectly and passes build tests on all Launchpad architectures
> that I have access to.

Needs a bit more than build tests:

The use of /etc/mysql/mariadb.conf.d/ is admirable however it appears
its never read (MDEV-15627). This path needs to be integrated into the
build system and the executables not just a debian move files around
implementation. Is the reading of /etc/mysql/my.cnf /
/etc/mysql/my.conf.d desired?

This path also isn't used by the system mariadb@ multi-instance service
file (support-files/mari...@.service.in). The rather ugly
/etc/mysql/conf.d/my%I.cnf is (sorry). A small variant to pr #510 could
set MYSQLD_MULTI_INSTANCE=--defaults-file=/etc/mysql/mariadb.%I.cnf
which a consistent way using the alternative configuration directories.
Is there a more preferred way?

Log-rotation is probably broken too afaik pid files may not exists -
solution in MDEV-13050 however check both conditions if necessary.

Why is /usr/include/mariadb/server/private/ installed? AFAIK there is no
supported API/ABI here.

/etc/mysql/conf.d/mysqld_safe_syslog.cnf assuming this is
debian/additions/mysqld_safe_syslog.cnf and mysqld_safe isn't used in
the a systemd environment it can be removed.

debian/additions/mariadb.cnf - seems to encourage changing character set
here. How about this occurs in a /etc/mysql/mariadb.conf.d/charset.cnf
file? (also note header).

debian-start, MDEV-14622, is also a problem.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] mysql and mariadb got different result

2017-12-20 Thread Daniel Black

This is an invalid aggregation. The results of a select should only
contain the GROUP BY fields or an aggregate function over any other field.

mysql/mariadb is lax without sql_mode=ONLY_FULL_GROUP_BY set.

The results have chosen a different row for the class_id specified.

The way these rows where inserted could result in a different set
returned, for both mysql and mariadb.

set sql_mode='ONLY_FULL_GROUP_BY'

ref: https://mariadb.com/kb/en/library/sql-mode/

and do the query again.

In short, its the query's problem for asking something non-specific.
MySQL has changed this setting to the default in mysql-5.7.5.

recommend #maria (or #mysql) freenode IRC channel for asking these kinds
of questions. You'll get a faster response, especially if you have a
follow up question.

On 20/12/17 14:31,  wrote:


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Git jira integration plugin

2017-08-02 Thread Daniel Black

For those that haven't seen it.

https://www.npmjs.com/package/jira-git


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] GSoC NUMA support Project

2017-05-28 Thread Daniel Black


On 29/05/17 06:03, Sumit Lakra wrote:
> I think I am near done with dividing the buffer pool into the number of
> nodes available in a NUMA machine. There is one thing left to do - to
> check for the presence of 'libnuma' library in the server.


Based on https://jira.mariadb.org/browse/MDEV-12924 I probably broke it
in ab0e5031e41d0aa72dd77a6dced9eacc8be5c548

> As of now I
> have explicitly defined HAVE_LIBNUMA in the > CMakeList.txt to check my code.

CMakeList.txt in which directory?

I'd suggest refering to publicly pushed code/branches for review.
A branch on https://github.com/theGodlessLakra/server would be good.

> Also, to test whether the control of execution reaches within a function
> A, I tried to print out a message on the scree like 'fprintf(stderr, In
> function A);' This seems to work in main(), my_init(), sys_var_init()
> etc, but not in buf0buf.cc. The function which creates the buffer pool
> is called by 'buf_pool_init()', which is called by
> 'innobase_start_on_create_for_mysql()', which in turn is called by
> 'innobase_init()', but I couldn't find where an d how is this function
> called.

Its called by function pointer -> see maria_declare_plugin in
storage/innobase/handler/ha_innodb.cc which is called by the plugin
initialization code.


> Seems like the output to bot stdout and stderr is being
> redirected somewhere and I can't find where (in code).

reopen_fstreams in sql/{mysqld,log}.cc

> Having this printing stuff is a quick way of testing the flow of control
> and although my code is working,

You can also run mysqld in gdb and the use "break" to set a breakpoint
at a function/file:line and step through form there.

> I would like to know about this
> redirections if someone can tell me.

add --verbose to the mysqld argument.

> Also, which part of code calls the 'innobase_init()' function ?


sql/plugin.cc:plugin_initialize in the call to plugin->init()


> I have attached a screenshot of the server running on my NUMA emulated
> pc with and without --numa-interleave=all. [ PID - 21016 without NUMA,
> PID - 21058 with NUMA]
> 
> At present it just ALLOCATES a buffer pool instance on each numa node.
> Need to work on specific node binding and stuff.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] galera source and direction

2017-05-08 Thread Daniel Black

With Codership's galera repository showing spelling fixes and test case
changes as the only changes this year, and Percona's galera repository
streaming ahead with improvements, is Percona's galera becoming the new
base?

I did a quick test though and the mtr tests all pass with Percona's
galera on the 10.2 branch head.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Google Summer of Code 2017 students

2017-05-04 Thread Daniel Black

Folks I'd like to welcome our Google Summer of Code students.

https://summerofcode.withgoogle.com/organizations/5889423829893120/#projects


Ankit Kumar - Allow multiple alternative authentication methods for the
same user
mentor: Sergei Golubchik

Daniil Medvedev - Full DECIMAL support in ColumnStore
mentor: Andrew Hutchings

Sumit Lakra - NUMA GSoC Project Proposal
mentors: Daniel Black and Jan Lindström

Galina Shalygina - Transformation of IN predicate into IN subquery based
on implementation of table value constructor
mentor: Igor Babaev

Please make them welcome and we are looking forward to mentoring them to
develop their contributions.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] JDBC getWarnings and stored procedure

2017-04-04 Thread Daniel Black


On 03/04/17 20:21, jerome brauge wrote:
> Hello,
> 
> When we call a stored procedure in JDBC which emit warnings, 
> getWarnings() always returns null.
> 
> I don’t really think that the problem is in MariaDB Connector J because
> warning flag in the EOF packet is not set to true.
> 

hasWarnings is set:

https://github.com/MariaDB/mariadb-connector-j/blob/master/src/main/java/org/mariadb/jdbc/internal/protocol/AbstractConnectProtocol.java#L745


Its used here:

https://github.com/MariaDB/mariadb-connector-j/blob/master/src/main/java/org/mariadb/jdbc/MariaDbConnection.java#L827

I suspect the bug is warningsCleared has a implicit default of false in
the above class.

As a workaround check, call reenableWarnings() before getWarnings().

> Mysql client behaves in the same way, by default it shows warnings count
> issued by DML command but not for stored procedure.
> 
>  
> 
> Is it a normal behavior ?
> 
>  
> 
> Best regards,
> 
> Jérôme.
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp
> 


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] CREATE SEQUENCE is coming

2017-03-27 Thread Daniel Black


On 28/03/17 07:31, Vladislav Vaintroub wrote:
> 
> 
> On 3/27/2017 6:15 AM, Daniel Black wrote:
>> On 26/03/17 22:11, Michael Widenius wrote:
>>> There is still a lot of work to fix edge cases, but in the current
>>> implementation most major things seams to work...
>>>
>>> Comments, suggestions or questions?
>> NICE!
>>
>> How will this value be exposed to getGeneratedKeys in
>> mariadb-connector-j?
> I do not think it needs to. Statement.getGeneratedKeys returns generated
> auto-increment values on insert, the same ulonglong that is in OK
> packet, the same thing that LAST_INSERT_ID() is returning.
>  no sequences involved

Ah, ok. I was miss understanding how Postgres does its sequences. I
found this quick summary from 2011 (date in http response header)
http://www.neilconway.org/docs/sequences/

Oracle ref:
http://docs.oracle.com/cd/B28359_01/server.111/b28286/pseudocolumns002.htm#SQLRF51138
uses sequence.CURRVAL, sequence.NEXTVAL

https://www.postgresql.org/docs/9.6/static/functions-sequence.html

As a note itseams PREVIOUS VALUE FOR seems to be a DB2 construct.
Postgres uses CURRVAL(sequence) which to me sounds more sound. I guess
MDEV-10422 INSERT RETURNING is the alternative.

All options work. Thanks for writing this.

So it seems they show up as full table where querying them is pretty
harmless? I suspect if things like pt-table-sync start trying to modify
them ugly things could happen.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] CREATE SEQUENCE is coming

2017-03-26 Thread Daniel Black

On 26/03/17 22:11, Michael Widenius wrote:
> There is still a lot of work to fix edge cases, but in the current
> implementation most major things seams to work...
> 
> Comments, suggestions or questions?

NICE!

How will this value be exposed to getGeneratedKeys in mariadb-connector-j?


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Google Summer of Code

2017-03-20 Thread Daniel Black

I got referred to another GSoC documentation site:

https://code.timvideos.us/summer-of-code/

I think its a pretty good model of what sort of documentation students
should read as largely it applies to projects in general.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] GTID and Optimize, Analyze etc

2017-03-09 Thread Daniel Black


On 10/03/17 16:02, Peter Mclarty wrote:
> Hi
> 
> I have some very large tables and I would like to give them a cleanup.
> If I run OPTIMIZE and ANALYZE on a slave does that affect the GTID of
> that slave and cause me to eventually get the dreaded Slave has diverged
> too far from the master type error
> 

ANALYZE NO_WRITE_TO_BINLOG ...
OPTIMIZE NO_WRITE_TO_BINLOG ...

> Can I set a session variable to block any change

SET SESSION SQL_LOG_BIN=0 (for the same effect).


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Item_func_group_concat::fix_fields - indentation and check positioning?

2017-02-28 Thread Daniel Black

I came across the following gcc warning (6.3.1)


sql/item_sum.cc: In member function ‘virtual bool
Item_func_group_concat::fix_fields(THD*, Item**)’:
sql/item_sum.cc:3478:5: warning: this ‘if’ clause does not guard...
[-Wmisleading-indentation]
 if ((!args[i]->fixed &&
 ^~
sql/item_sum.cc:3482:7: note: ...this statement, but the latter is
misleadingly indented as if it is guarded by the ‘if’
   with_subselect|= args[i]->with_subselect;
   ^~

The with_subselect line was added in 950abd526

In context it is:

Item_func_group_concat::fix_fields(THD *thd, Item **ref)
{
...
  for (i=0 ; i < arg_count ; i++)
  {
if ((!args[i]->fixed &&
 args[i]->fix_fields(thd, args + i)) ||
args[i]->check_cols(1))
  return TRUE;
  with_subselect|= args[i]->with_subselect;
  }


While removing the indent would fix the warning, I'd like someone to
check this line should be after the IF statement rather than before.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] fb49b98: MDEV-10436 non-deterministic vcol does not force rbr

2017-01-26 Thread Daniel Black


On 25/01/17 00:33, sachin wrote:
> @@ -5824,6 +5826,16 @@ int THD::decide_logging_format(TABLE_LIST *tables)
>table->table->file->ht)
>  multi_access_engine= TRUE;
>  
> +  /*
> + Loop through each table field if it is virtual field check if it is 
> deterministic
> + or not.
> +   */
> +  for (field_ptr= table->table->field; *field_ptr; field_ptr++)
> +  {
> +field= *field_ptr;
> +if (field->vcol_info && field->vcol_info->flags & 
> VCOL_NOT_STRICTLY_DETERMINISTIC)
> +  lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_NON_DETER_VCOL);

you could break the loop at this point.

> +  }
>prev_access_table= table->table;
>  }
>  


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] ef590fa: MDEV-7409 On RBR, extend the PROCESSLIST info to include at least the name of the recently used table

2017-01-23 Thread Daniel Black


On 24/01/17 04:30, SachinSetiya wrote:
> revision-id: ef590faa0e21d25a2dc5153f938135612b17ecbc 
> (mariadb-10.1.20-31-gef590fa)


>thd_proc_info(thd, message);
> +  DBUG_EXECUTE_IF("should_sleep_for_mdev7409",{
> +  my_sleep(50);
> +  };);

Shouldn't these be DEBUG_SYNC_C("do_exec_row");

and then use debug_sync to generate test synchronisation.


>int error= write_row(rgi, slave_exec_mode == SLAVE_EXEC_MODE_IDEMPOTENT);
>thd_proc_info(thd, tmp);
> +  thd->db= tmp_db;
>  
>if (error && !thd->is_error())
>{
> @@ -12371,32 +12380,45 @@ int 
> Delete_rows_log_event::do_exec_row(rpl_group_info *rgi)
>  {
>int error;
>const char *tmp= thd->get_proc_info();
> -  const char *message= "Delete_rows_log_event::find_row()";
> +  char *tmp_db= thd->db;
> +  char *message, msg[128];
> +  my_snprintf(msg, sizeof(msg),"Delete_rows_log_event::find_row() on table 
> %s",
> +   m_table->s->table_name.str);
> +  thd->db= m_table->s->db.str;
> +  message= msg;

Why assign a pointer? Isn't defining message as a char[128] sufficient?

Thanks for writing this feature.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Status of MDEV-4557 / 7409

2017-01-08 Thread Daniel Black


On 09/01/17 02:05, Sachin Setiya wrote:
> Hi Daniel!
> 
> I was thinking of taking 4557 , but in comment I see you have ported
> the patch for 10.0
> but it was not merged.

It was rather incomplete and really only a quick hack which I didn't finish.

> Are you going to take 4557 , or can I take it ?

You can take it.


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] 02e74a5: MDEV-11700: MariaDB 10.2 cannot start on MySQL 5.7 datadir:

2016-12-11 Thread Daniel Black
nit - its really MDEV-11170

On 12/12/16 12:57, Vicențiu Ciorbaru wrote:
> Hi Sergei!
> 
> Can you please review this patch for MDEV-11700? Details presented in
> the commit message. I'm not sure which solution we want.
> Possible solutions:
> A) have the user fix it by first starting the server with
> --skip-grant-tables to avoid "mysql.user table is damaged", then run
> mysql_upgrade, to fix the problem. Without this patch, this solution
> fails at mysql_upgrade.
> B) Have the server understand MySQL 5.7.6 + table format where the
> Password column is missing.
> 
> For 10.2 I've chosen solution A. Although this should probably also be
> targeted for 10.1?
> For 10.3, since we're planning on doing some authentication changes, we
> can implement a variant of B.

Without B or a population of the password column the authentication
isn't migrated.

> 
> Thoughts?
> 
> On Mon, 12 Dec 2016 at 03:50 vicentiu  > wrote:
> 
> revision-id: 02e74a5614b08cfce505002abc26d4634648308e
> (mariadb-10.2.2-138-g02e74a5)
> parent(s): 9320d8ae30c18420bef659618175836221d363ea
> author: Vicențiu Ciorbaru
> committer: Vicențiu Ciorbaru
> timestamp: 2016-12-12 03:42:11 +0200
> message:
> 
> MDEV-11700: MariaDB 10.2 cannot start on MySQL 5.7 datadir:
> 
> Fatal error: mysql.user table is damaged or in unsupported 3.20 format
> 
> The problem stems from MySQL 5.7.6. According to MySQL documentation:
> In MySQL 5.7.6, the Password column was removed and all credentials are
> stored in the authentication_string column.
> 
> If opening a MySQL 5.7.6 (and up) datadir with MariaDB 10.2, the
> user table
> appears corrupted. In order to fix this, the server must be started with
> --skip-grant-tables and then a subsequent mysql_upgrade command must be
> issued.
> 
> This patch updates the mysql_upgrade command to also add the removed
> Password column. The password column is necessary, otherwise
> the mysql_upgrade script fails due to the Event_scheduler not being able
> to start, as it can't find Event_priv in the table where it ought to be.
> MySQL's version has column position 28 (0 index) vs our datadir version
> expects position 29.
> 
> ---
>  scripts/mysql_system_tables_fix.sql | 6 ++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/scripts/mysql_system_tables_fix.sql
> b/scripts/mysql_system_tables_fix.sql
> index ea1059c..80d0ef7 100644
> --- a/scripts/mysql_system_tables_fix.sql
> +++ b/scripts/mysql_system_tables_fix.sql
> @@ -164,6 +164,12 @@ ALTER TABLE user
>MODIFY Host char(60) NOT NULL default '',
>MODIFY User char(80) NOT NULL default '',
>ENGINE=MyISAM, CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
> +
> +# In MySQL 5.7.6 the Password column is removed. Recreate it to
> preserve the number
> +# of columns MariaDB expects in the user table.
> +ALTER TABLE user
> +  ADD Password char(41) character set latin1 collate latin1_bin NOT
> NULL default '' AFTER User;
> +
>  ALTER TABLE user
>MODIFY Password char(41) character set latin1 collate latin1_bin
> NOT NULL default '',
>MODIFY Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT
> 'N' NOT NULL,
> 
> 
> 
> ___
> commits mailing list
> comm...@mariadb.org
> https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits
> 


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] OSS-Fuzz

2016-12-06 Thread Daniel Black

In case anyone is interested.

Code needs to be written to take a random bit of data and push this into
the server somehow. Apart from that it appears reasonably automated.

https://github.com/google/oss-fuzz


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Replication compatibility MySQL/MariaDB

2016-11-01 Thread Daniel Black
Folks,

At the MariaDB Developer meetup there was some discussion about the
limits of compatibility especially regarding replication.

I've started a section on this page:

https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/

If you can identify what can/cannot work in various replication modes
between MySQL and MariaDB please document it on this page.

If you cannot edit this for some reason reply to the MariaDB Discuss
list and eventually the results can be correlated and the page can be
updated.

As usual other material changes to improving the KB documentation is
welcome.

Daniel


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MariaDB/server] Compressed binary log (#247)

2016-10-20 Thread Daniel Black
>> +#define BINLOG_COMPRESSED_HEADER_LEN 1
>> +#define BINLOG_COMPRESSED_ORIGINAL_LENGTH_MAX_BYTES 4
>> +/**
>> +  Compressed Record
>> +Record Header: 1 Byte
>> +   0 Bit: Always 1, mean compressed;
>> +   1-3 Bit: Reversed, compressed algorithm??Always
0, means zlib


Good to see this progressed from the old MySQL bug I saw originally.

I'm a bit late into this however I suggest we can use a better algorithm
than zlib. There are a significant number of algorithms that may have
better compression at similar speed faster like brotli, zstd, snappy.

https://quixdb.github.io/squash-benchmark/#results-table


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] d0064c6: MDEV-7635: Convert log_queries_not_using_indexes to ulong

2016-10-13 Thread Daniel Black

So this is making log-queries-not-using-indexes to take on the same
meaning as min_examined_row_limit for the case of no-index and both seam
to apply?

Is thd->get_examined_row_count() the right comparison value if the
non-indexed table had much fewer rows examined?

Note -
https://mariadb.com/kb/en/mariadb/server-system-variables/#log_queries_not_using_indexes
needs updating and needs to reference min_examined_row_limit as well.

Are log_slow_admin_statements / log_slow_slave_statements going to be
modified in the same way and min-examined-row-limit to be deprecated?

Is giving log-queries-not-using-indexes a default value of 5000 (as
suggested for min-examined-row limit) applicable here?


On 14/10/16 10:09, Nirbhay Choubey wrote:
> revision-id: d0064c6e94414cfd6bbfcf171b1efabababe1d2e 
> (mariadb-10.2.1-55-gd0064c6)
> parent(s): 0d70fd0f9b7b8480b6053ef2dfcb55d917de2bca
> author: Nirbhay Choubey
> committer: Nirbhay Choubey
> timestamp: 2016-10-13 19:09:53 -0400
> message:
> 
> MDEV-7635: Convert log_queries_not_using_indexes to ulong
> 
> ---
>  mysql-test/r/mysqld--help.result   |  7 ---
>  mysql-test/r/show_check.result | 10 +-
>  mysql-test/r/variables.result  |  4 ++--
>  .../r/log_queries_not_using_indexes_basic.result   | 18 
> ++
>  .../t/log_queries_not_using_indexes_basic.test | 14 +++---
>  mysql-test/t/show_check.test   |  4 ++--
>  sql/mysqld.cc  |  2 +-
>  sql/mysqld.h   |  2 +-
>  sql/sql_parse.cc   |  3 ++-
>  sql/sys_vars.cc|  9 +
>  10 files changed, 39 insertions(+), 34 deletions(-)
> 
> diff --git a/mysql-test/r/mysqld--help.result 
> b/mysql-test/r/mysqld--help.result
> index cb1399d..2a570f8 100644
> --- a/mysql-test/r/mysqld--help.result
> +++ b/mysql-test/r/mysqld--help.result
> @@ -365,9 +365,10 @@ The following options may be given as the first argument:
>   --log-isam[=name]   Log all MyISAM changes to file.
>   --log-output=name   How logs should be written. Any combination of: NONE, 
>   FILE, TABLE
> - --log-queries-not-using-indexes 
> + --log-queries-not-using-indexes[=#] 
>   Log queries that are executed without benefit of any
> - index to the slow log if it is open
> + index and that examined fewer rows than specified to the
> + slow log if it is open
>   --log-short-format  Don't log extra information to update and slow-query
>   logs.
>   --log-slave-updates Tells the slave to log the updates from the slave thread
> @@ -1257,7 +1258,7 @@ log-bin-trust-function-creators FALSE
>  log-error 
>  log-isam myisam.log
>  log-output FILE
> -log-queries-not-using-indexes FALSE
> +log-queries-not-using-indexes 0
>  log-short-format FALSE
>  log-slave-updates FALSE
>  log-slow-admin-statements FALSE
> diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result
> index 19a2597..db1a0ee 100644
> --- a/mysql-test/r/show_check.result
> +++ b/mysql-test/r/show_check.result
> @@ -1228,27 +1228,27 @@ use test;
>  flush status;
>  show variables like "log_queries_not_using_indexes";
>  Variable_nameValue
> -log_queries_not_using_indexesON
> +log_queries_not_using_indexes1
>  select 1 from information_schema.tables limit 1;
>  1
>  1
>  show status like 'slow_queries';
>  Variable_nameValue
>  Slow_queries 1
> -set global log_queries_not_using_indexes=OFF;
> +set global log_queries_not_using_indexes=0;
>  show variables like "log_queries_not_using_indexes";
>  Variable_nameValue
> -log_queries_not_using_indexesOFF
> +log_queries_not_using_indexes0
>  select 1 from information_schema.tables limit 1;
>  1
>  1
>  show status like 'slow_queries';
>  Variable_nameValue
>  Slow_queries 1
> -set global log_queries_not_using_indexes=ON;
> +set global log_queries_not_using_indexes=1;
>  show variables like "log_queries_not_using_indexes";
>  Variable_nameValue
> -log_queries_not_using_indexesON
> +log_queries_not_using_indexes1
>  select 1 from information_schema.tables limit 1;
>  1
>  1
> diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
> index 50379a5..1423284 100644
> --- a/mysql-test/r/variables.result
> +++ b/mysql-test/r/variables.result
> @@ -995,10 +995,10 @@ select @@log_queries_not_using_indexes;
>  0
>  show variables like 'log_queries_not_using_indexes';
>  Variable_nameValue
> -log_queries_not_using_indexesOFF
> +log_queries_not_using_indexes0
>  select * from information_schema.session_variables where variable_name like 
> 'log_queries_not_using_indexes';
>  VARIABLE_NAMEVARIABLE_VALUE
> -LOG_QUERIES_NOT_USING_INDEXESOFF
> +LOG_QUERIES_NOT_USING_INDEXES0
>  select @@"";
>  ERROR 42000: You have an error in

Re: [Maria-developers] Aggregate Functions

2016-08-25 Thread Daniel Black

Well done and thank you.

On 24/08/16 06:25, Varun Gupta wrote:
> Hi,
> As GSOC is nearing its end, I have written a blog which contains how can
> aggregate functions be written and executed to get the desired
> results.In the blog I also have added the technical details of this
> project on aggregate functions.
> 
> Here are the links:
> 
> Jira issue: https://jira.mariadb.org/browse/MDEV-7773
> Blog Link: http://varunraiko.github.io/aggregate-functions/
> 
> Disclaimer: I hereby declare that all my work done so far (and future)
> by me on the Aggregate Functions’ project, is released under the NEW BSD
> licence.
> 
> 
> Regards,
> Varun
> 
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Documentation for new features

2016-01-02 Thread Daniel Black
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 23/12/15 00:56, Sergei Golubchik wrote:
> Hi, Ian!
> 
> On Dec 22, Ian Gilfillan wrote:
>> Hi
>> 
>> I quite often find out about a new feature after release, either
>> by looking through the changelog and commits, or because someone
>> points out it's missing from the documentation.
>> 
>> It's time-consuming trying to keep track of every change, and I
>> miss things (especially in non-default plugins etc), so it'd be
>> better if everyone can remember the need for documentation when
>> adding new features/variables or changes in behaviour.
> 
> I doubt it's possible :(
> 
> During the release preparation I can look through the changelog
> and see what needs to be documented.
> 
> Or we can tweak our workflow in Jira somehow to include
> documentation.

This sounds reasonable. Might just hint to developers "oh that's right
I added a variable X" or "its important to note Y in the release notes"


-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQEcBAEBCAAGBQJWiMMvAAoJEMXeEgVQ15xMba4H/1Odo4j0SH/af9log3r/D2HZ
aFDhf0Cr1YFSd+prSJB33BEHghSFgsPvkFz/8bGAdG7yxtHoPK8BjzZdIedMHGi1
DCxsp0qYFk44xAKnz3f8D2fp7ff9nWSL1HzZAncjXLRLpL13VN8/oetIA8N5CPHK
tmZQ0w/TsbWmybS3V2F0cO39LT77cwxIsZ9q8lbbATuojjUrYKXqj+WIP/tXue8H
w2mDpeRUfyoCISiX9DNoyjuw7b8hIqL7smZOb8aYRGQu9Gfm8NCL/uYzll0FxKHU
tXJ61LkBFlB3FdlIDY3V2B9stxJFUxcArUKjIKH1uUBNzynJWCKhQ9fZxXpHhlE=
=Zw5d
-END PGP SIGNATURE-

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Several CVE's in Oracle MySQL, is MariaDB vulnerable?

2015-10-26 Thread Daniel Black


- On 26 Oct, 2015, at 6:00 AM, Otto Kekäläinen o...@seravo.fi wrote:

> Hello Serg!
> 
> 2015-10-25 20:38 GMT+02:00 Sergei Golubchik :
...

>> They're all for MySQL-5.6, for the code that we don't have. MySQL-5.5
>> was the last version when we merged everything from MySQL. That is,
>> MariaDB is based on MySQL-5.5 codebase, we only merge InnoDB and
>> Performance Schema from 5.6.

Good summary info.

> It would be nice if the page
> https://mariadb.com/kb/en/mariadb/security/ also had a section that
> was explicit about that Oracle CVEs do _not_ affect MariaDB, because I
> am sure many people wonder on how what the status might be for
> non-listed CVEs.
> 
> ..wait, it does indeed have the section "CVE's affecting Oracle MySQL"
> at the very end. Can you please update it?

Its probably a real pain to keep this list updated. Something like "we've 
checked CVE before and including (CVE-2015-4910) and only the CVEs listed above 
affect MariadDB"  would be sufficient.



-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Several CVE's in Oracle MySQL, is MariaDB vulnerable?

2015-10-23 Thread Daniel Black


- On 24 Oct, 2015, at 3:47 AM, Christian Rebischke 
chris.rebisc...@gmail.com wrote:

> Hello everyone,
> Sorry when I am on the wrong mailinglist. I wanted to submit a bugreport or
> issue for this but I can't signup for your JIRA because of license reasons.

Keen to know which conditions where a problem. May affect other people.

> I am from the Archlinux-Security Team and want to ask if mariadb in the actual
> version is vulnerable to the following CVEs:
> 
> CVE-2015-4913 CVE-2015-4910 CVE-2015-4905 CVE-2015-4904 CVE-2015-4895
> CVE-2015-4890 CVE-2015-4879 CVE-2015-4870 CVE-2015-4862 CVE-2015-4864
> CVE-2015-4861 CVE-2015-4858 CVE-2015-4836 CVE-2015-4833 CVE-2015-4830
> CVE-2015-4826 CVE-2015-4819 CVE-2015-4815 CVE-2015-4807 CVE-2015-4802
> CVE-2015-4800 CVE-2015-4792 CVE-2015-4791 CVE-2015-4766
> 
> I hope you can help me.

Of course, listed here:

https://mariadb.com/kb/en/mariadb/security/

Its only got the fixed versions rather than which versions vulnerabilities 
where introduced. Is this sufficient?


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] On the issue of Seconds_behind_master and Parallel Replication

2015-10-18 Thread Daniel Black


- On 16 Oct, 2015, at 3:57 PM, Jean-François Gagné 
jeanfrancois.ga...@booking.com wrote:

> On 2015-10-15 08:16, Kristian Nielsen wrote:
>> Monty suggested changing the behaviour also for non-parallel mode - letting
>> Seconds_Behind_Master reflect only events actually committed, not just read
>> from the relay log. This would introduce an incompatible behaviour for
>> Seconds_Behind_Master, but could perhaps be done for 10.1, if desired. Doing
>> it in stable 10.0 would be more drastic.
> 
> I agree with Monty: we should only update on commit and in both // and
> non-// cases.

+1 here. works for me too.

> Having yo-yo in seconds-behind-master (because of a long running
> transaction) should probably be considered a bug and should be fixed
> (non-// case).
> 
> The commit event (if we can call it as such) is the only reliable (-ish)
> timing synchronization point in the binlog stream, all the rest depends
> on execution time and session-latency.  The timestamp of those
> non-commit events should not be trusted for delay computation.
> 
> Fixing that in 10.0 has too many implications, I think fixing in 10.1 is
> a good target.
> 
> If something needs to be done in 10.0, and if it is not too hard, adding
> a "improved_seconds_behind_master" global variables for this behavior
> could be done.  In 10.0, the default value of this variable would be 0,
> in 10.1 it would be 1.  If that path is chosen, I think this variable
> should be deprecated in 10.1 and go away in 10.2 to reduce code complexity.

seconds_behind_master=commit?

I tend to think people using 10.0 haven't seen or cared enough about it to be 
worth fixing in 10.0.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Best way of starting multi-source connections with active slave.

2015-08-06 Thread Daniel Black

- On 6 Aug, 2015, at 4:54 PM, Giuseppe Maxia g.ma...@gmail.com wrote:

> Hi,
> I am setting up multi-source replication with four nodes, where nodes 1, 2, 
> and
> 3 are masters and node 4 is the slave of the first 3. The slave is *active*,
> meaning that it has a binary log and runs transactions of its own.
> 
> All is well if I run 'reset master' in all nodes before setting up 
> replication.
> 
> CHANGE MASTER 'node1' TO master_host='host1', master_port=3306,
> master_user='some_slave', master_password='some_slave',
> master_use_gtid=current_pos;
> CHANGE MASTER 'node2' TO master_host='host2', master_port=3306,
> master_user='some_slave', master_password='some_slave',
> master_use_gtid=current_pos;
> CHANGE MASTER 'node3' TO master_host='host3', master_port=3306,
> master_user='some_slave', master_password='some_slave',
> master_use_gtid=current_pos;
> start all slaves;
> 
> However, if host 4 has a binary log and has logged one or more transactions
> before starting replication, we get a conflict.

each master should be on a different gtid_domain_id

https://mariadb.com/kb/en/mariadb/global-transaction-id/#gtid_domain_id

also see variable gtid_ignore_duplicates

> Got fatal error 1236 from master when reading data from binary log: 'Error:
> connecting slave requested to start from GTID 0-104-1, which is not in the
> master's binlog. Since the master's binlog contains GTIDs with higher sequence
> numbers, it probably means that the slave has diverged due to executing extra
> erroneous transactions'


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MDEV-4682 plugin - qc_info - add Query Cache flags - not-GSoc2015 patch for review

2015-07-14 Thread Daniel Black

This expands out all the query cache info from the flags that wasn't previously 
available in the information_schema.query_cache_info table by the 
query_cache_info plugin.

https://github.com/MariaDB/server/pull/67


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] crash - analyze table with histogram

2015-06-23 Thread Daniel Black


- On 24 Jun, 2015, at 1:33 AM, roberto robe...@spadim.com.br wrote:

> Hi guys, i got a crash, could someone help?
> 
> ---
> queries:
> set histogram_size=255,histogram_type=SINGLE_PREC_HB;
> ANALYZE TABLE 19_org.estoque_itens PERSISTENT FOR ALL;
> /* Erro SQL (2013): Lost connection to MySQL server during query */
> 

If its anything like https://mariadb.atlassian.net/browse/MDEV-7362 it will be 
a value in one of the rows in that table.

Eliminate column by column until you find the one that caused it.

Then find the row (or just include the whole column in the bug report).


> ---
> log:
> 
> 150623 12:31:47 [ERROR] mysqld got signal 11 ;
> This could be because you hit a bug. It is also possible that this binary
> or one of the libraries it was linked against is corrupt, improperly built,
> or misconfigured. This error can also be caused by malfunctioning hardware.
> 
> To report this bug, see http://kb.askmonty.org/en/reporting-bugs
> 
> We will try our best to scrape up some info that will hopefully help
> diagnose the problem, but since we have already crashed,
> something is definitely wrong and this may fail.
> 
> Server version: 10.0.20-MariaDB-log
> key_buffer_size=2097152000
> read_buffer_size=6291456
> max_used_connections=22
> max_threads=92
> thread_count=9
> It is possible that mysqld could use up to
> key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads =
> 3180295 K  bytes of memory
> Hope that's ok; if not, decrease some variables in the equation.
> 
> Thread pointer: 0x0x7f523b81c008
> Attempting backtrace. You can use the following information to find out
> where mysqld died. If you see no messages after this, something went
> terribly wrong...
> stack_bottom = 0x4b1410a0 thread_stack 0x48000
> mysys/stacktrace.c:247(my_print_stacktrace)[0xbcb2ee]
> sql/signal_handler.cc:153(handle_fatal_signal)[0x71fa8c]
> /lib/libpthread.so.0[0x7f52ccbe98f0]
> sql/field.h:703(Field::set_notnull(long long))[0x610c70]
> sql/sql_statistics.cc:533(Stat_table::update_stat())[0x60dd68]
> sql/sql_admin.cc:759(mysql_admin_table)[0x67adc1]
> sql/sql_admin.cc:1183(Sql_cmd_analyze_table::execute(THD*))[0x67c66c]
> sql/sql_parse.cc:5095(mysql_execute_command(THD*))[0x5986c2]
> sql/sql_parse.cc:6529(mysql_parse(THD*, char*, unsigned int,
> Parser_state*))[0x59fc86]
> sql/sql_parse.cc:1310(dispatch_command(enum_server_command, THD*,
> char*, unsigned int))[0x5a1bb7]
> sql/sql_parse.cc:999(do_command(THD*))[0x5a22f9]
> sql/sql_connect.cc:1378(do_handle_one_connection(THD*))[0x66c7d4]
> sql/sql_connect.cc:1295(handle_one_connection)[0x66c912]
> /lib/libpthread.so.0[0x7f52ccbe1fe7]
> /lib/libc.so.6(clone+0x6d)[0x7f52cbb822bd]
> 
> Trying to get some variables.
> Some pointers may be invalid and cause the dump to abort.
> Query (0x7f5190884020): is an invalid pointer
> Connection ID (thread ID): 304
> Status: NOT_KILLED
> 
> Optimizer switch:
> index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on
> 
> The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
> information that should help you find out what is causing the crash.
> 
> 
> --
> Roberto Spadim
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] 95a99d8: MDEV-8303; Dumping buffer pool noisy in the logs.

2015-06-20 Thread Daniel Black


Will only get used if documented:

https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system-variables/ +
https://mariadb.com/kb/en/mariadb/server-system-variables/

- On 18 Jun, 2015, at 6:45 PM, Jan Lindström jan.lindst...@mariadb.com 
wrote:

> revision-id: 95a99d8dd96be43369d5be9cc23735a1ce86674a
> parent(s): b94eaff8d90a60b9dea3b5b68fbde3d35563127b
> committer: Jan Lindström
> branch nick: 10.1-encryption
> timestamp: 2015-06-18 08:38:33 +0300
> message:
> 
> MDEV-8303; Dumping buffer pool noisy in the logs.
> 
> Added new dynamic configuration variable innodb_buf_dump_status_frequency
> to configure how often buffer pool dump status is printed in the logs.
> A number between [0, 100] that tells how oftern buffer pool dump status
> in percentages should be printed. E.g. 10 means that buffer pool dump
> status is printed when every 10% of number of buffer pool pages are
> dumped. Default is 0 (only start and end status is printed).


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] 6050ab6: MDEV-6829 : SELinux/AppArmor policies for Galera server

2015-06-18 Thread Daniel Black
te setattr read create getattr execute_no_trans write 
> ioctl
> open append unlink };
> + class sock_file { create unlink getattr };
> + class blk_file { read write open };
> + class dir { write search getattr add_name read remove_name open };
> +
> +# MariaDB additions
> + type tram_port_t;
> + class process setpgid;
> + class netlink_tcpdiag_socket { create nlmsg_read };
> +}
> +
> +
> +#= mysqld_safe_t ==
> +allow mysqld_safe_t mysqld_t:process signull;
> +allow mysqld_safe_t self:capability { sys_resource sys_nice };
> +allow mysqld_safe_t tmp_t:file { create read write open getattr unlink ioctl
> setattr };
> +allow mysqld_safe_t tmp_t:dir { write remove_name add_name };
> +allow mysqld_safe_t tmp_t:sock_file { getattr unlink };
> +allow mysqld_safe_t user_tmp_t:sock_file { getattr unlink };
> +allow mysqld_safe_t var_lib_t:dir { write add_name };
> +allow mysqld_safe_t var_lib_t:file { write ioctl setattr create open getattr
> append unlink };
> +
> +#= mysqld_t ==
> +allow mysqld_t anon_inodefs_t:file write;
> +allow mysqld_t tmp_t:sock_file { create unlink };
> +allow mysqld_t tmpfs_t:dir { write search read remove_name open add_name };
> +allow mysqld_t tmpfs_t:file { write getattr read create unlink open };
> +allow mysqld_t fixed_disk_device_t:blk_file { read write open };
> +allow mysqld_t ifconfig_exec_t:file { read execute open execute_no_trans
> getattr };
> +
> +#This rule allows connecting on 
> +allow mysqld_t kerberos_port_t:tcp_socket { name_bind name_connect };
> +
> +allow mysqld_t mysqld_safe_t:dir { getattr search };
> +allow mysqld_t mysqld_safe_t:file { read open };
> +allow mysqld_t self:unix_stream_socket connectto;
> +allow mysqld_t port_t:tcp_socket { name_bind name_connect };
> +allow mysqld_t proc_net_t:file { read getattr open };
> +allow mysqld_t sysctl_net_t:dir search;
> +allow mysqld_t var_lib_t:file { getattr open append };
> +allow mysqld_t var_lib_t:sock_file { create unlink getattr };
> +allow mysqld_t rsync_exec_t:file { read getattr open execute execute_no_trans
> };
> +allow mysqld_t self:process getattr;
> +allow mysqld_t hostname_exec_t:file { read getattr execute open
> execute_no_trans };
> +allow mysqld_t user_tmp_t:dir { write add_name };
> +allow mysqld_t user_tmp_t:file create;
> +allow mysqld_t bin_t:lnk_file read;
> +allow mysqld_t tmp_t:file { append create read write open getattr unlink
> setattr };
> +
> +# Allows too much leeway - the xtrabackup/wsrep rules in fc should fix it, 
> but
> +# keep for the moment.
> +allow mysqld_t shell_exec_t:file { execute_no_trans getattr read execute open
> };
> +allow mysqld_t bin_t:file { getattr read execute open execute_no_trans ioctl 
> };
> +
> +# MariaDB additions
> +allow mysqld_t self:process setpgid;
> +# This rule allows port 4567
> +allow mysqld_t tram_port_t:tcp_socket name_bind;
> +
> +# Rules related to XtraBackup
> +allow mysqld_t self:netlink_tcpdiag_socket { create nlmsg_read };
> +allow mysqld_t sysctl_net_t:file { read getattr open };
> +
> ___
> commits mailing list
> comm...@mariadb.org
> https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] what could be better than %1 OLTP test gains?

2015-05-08 Thread Daniel Black

Appreciate all the effort recently to save <1% on OLTP tests.

MDEV-6735 / MDEV-7786 has a 3 line patch in progress that saves a 6700% (0.1 
seconds to 11 min 10.44 sec) by changing optimizer decision based on something 
more meaningful than an absolute number of rows on one side of a join (a 
specific tuning for some test at some time?).

Sure it might not make someone's blog (though it should), but it will make it 
possible to move one customer of mine beyond 5.5.32 which is near where a 
regression happened and for all those Magento users who've chosen MariaDB where 
performance has just broken to unusable when 100 categories was exceeded.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] MDEV-7802 adding status variables - backport to 10.0 request

2015-04-29 Thread Daniel Black


- On 29 Apr, 2015, at 6:40 PM, Kristian Nielsen kniel...@knielsen-hq.org 
wrote:


> So there were a couple of votes for backporting, and none against. So I will
> push this into 10.0 as well.


thank you very much.

https://github.com/MariaDB/server/pull/30 ready to go.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] MariaDB finally in Debian officially (Fwd: Debian 8 "Jessie" released)

2015-04-26 Thread Daniel Black


- Original Message -
> Hello!
> 
> Debian 8 "Jessie" has been released to today. It is the first official
> Debian release that ships with MariaDB (it has MariaDB 10.0.16 and
> MySQL 5.5.42). MariaDB client for C (the LGPL version) is also
> included. 

> Release notes[1] state that in Debian 9 only one MySQL
> variant will be shipped.

Is this driven by the complexity of maintaining two concurrent variants and/or 
maintenance effort and/or other factors?

> Hopefully the decision will tip towards
> MariaDB.

What will make this decision easier when Debian 9 comes around?

> The MariaDB "request for packaging" issue[2] was opened in
> bugs.debian.org in 2010. I started doing MariaDB packaging for Debian
> in 2013. The path here has been long and I am glad that this milestone
> is finally reached.

Thanks Otto for making this possible.

FYI, travis-ci testing in development, 
https://github.com/openquery/mariadb-server/blob/travis-ci-10.0/.travis.yml
Probably could do something for packaging tests here. Build/test time is 
limited to 50 mins so its probably too much of
a stretch to get packaging and content tests in the same package. Build time is 
only about 5 mins.

-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Rev 4407: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views

2015-04-24 Thread Daniel Black
ew '%-.192s'.'%-.192s': algorithm swap error.",
> > +view->db, view->table_name);
> > +DBUG_RETURN(HA_ADMIN_INTERNAL_ERROR);
> > +  }
> > +  sql_print_information("View '%-.192s'.'%-.192s': versioned to %llu%s%s",
> > +view->db, view->table_name, view->mariadb_version,
> > +(wrong_checksum ? ", and checksum corrected" :
> > ""),
> > +(swap_alg ?
> > +  ((view->algorithm == VIEW_ALGORITHM_MERGE) ?
> > +", and algorithm swapped to 'MERGE'"
> > +   : ", and algorithm swapped to 'TEMPTABLE'")
> 
> I don't like how it looks "and algorithm swapped to 'MERGE'".
> I think "changed to" or "corrected to be" or "restored to be" looks better.

fair call



> > +int view_check(THD *thd, TABLE_LIST *view, HA_CHECK_OPT *check_opt)
> > +{
> > +  int res;
> > +  DBUG_ENTER("view_check");
> > +  if ((res= view_checksum(thd, view)) != HA_ADMIN_OK)
> > +DBUG_RETURN(res);
> > +  if (((check_opt->sql_flags & TT_FOR_UPGRADE) &&
> > +   !view->mariadb_version))
> > +  {
> > +push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE,
> > +ER_TABLE_NEEDS_UPGRADE,
> > +ER(ER_TABLE_NEEDS_UPGRADE),
> > +view->db,
> > +view->table_name);
> 
> Is that necessary? I'd expect the caller (mysql_admin_table() to do that,
> when it gets HA_ADMIN_NEEDS_UPGRADE. There is nothing view specific in
> this warning message that you're printing.

Quite right. its probably something i didn't revert when changing the error 
messages back to the standard ones.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] packaging code - mariadb and jemalloc.

2015-04-22 Thread Daniel Black


- Original Message -
> Hi, Daniel!
> 
> On Apr 22, Daniel Black wrote:
> > 
> > 
> > Daniel, or anyone else.
> > 
> > Where is the source/build code for the jemalloc build in the mariadb
> > repo (specifically for ubuntu)?
> 
> A source code for jemalloc? It's not in the mariadb repo, we use system
> jemalloc if available (or nothing, if not).

How are the packages 
https://downloads.mariadb.com/files/MariaDB/repo/10.0/ubuntu/pool/main/j/jemalloc
 here generated?

> > Where is the code that triggers making the rpm and deb packages that
> > form the current mariadb and galera releases?
> 
> I don't understand the question, sorry :(
>
> I think you're talking about the buildbot configuration file.

yes.

so its here 
http://bazaar.launchpad.net/~maria-captains/mariadb-tools/trunk/annotate/head:/buildbot/maria-master.cfg
 will read later.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] packaging code - mariadb and jemalloc.

2015-04-22 Thread Daniel Black


Daniel, or anyone else.

Where is the source/build code for the jemalloc build in the mariadb repo 
(specifically for ubuntu)?

Where is the code that triggers making the rpm and deb packages that form the 
current mariadb and galera releases?

My goal is to get these packages whitelisted by travis-ci so container builds 
of mariadb and running mtr on github pull rquests/branches can occur for 
everyone without a buildbot.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MDEV-7802 adding status variables - backport to 10.0 request

2015-04-21 Thread Daniel Black

Hi,

I'm requesting a backport of MDEV-7802 
https://github.com/MariaDB/server/pull/30/files to 10.0

It added status variables which where important to determining what operational 
values to set binlog_commit_wait_usec / binlog_commit_wait_count variables to. 
With parallel replication efficiency and general group commit IO reduction 
dependent on the tradeoff of these settings with the commit delay, the status 
variables binlog_group_commit_trigger_count, 
binlog_group_commit_trigger_timeout and binlog_group_commit_trigger_lock_wait 
that this patch adds are operationally important.

The changes added a few variables and didn't affect the flow of the program at 
all. In the binary log execution path, no locks where added and only a few 
increments of static variables where added. There was an additional lock usage 
of LOCK_prepare_ordered in the show global status for the period to copy the 
added variables into the global status structures. I'm quite aware of the 
dangers of show global status holding locks wrongly (MDEV-7126) I don't suspect 
this does.

On the balance of risk/benefit can I request that this feature be merged to 
10.0.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] documentation

2015-04-21 Thread Daniel Black

Seems there are a fair few variables and options changed in the course of 
development.

These don't seem to make it to the documentation, especially pages like:

https://mariadb.com/kb/en/mariadb/server-system-variables/
https://mariadb.com/kb/en/mariadb/server-status-variables
https://mariadb.com/kb/en/mariadb/mysqld-options

And their per subsection equivalents.

Please make an effort to add/update these pages after a commit. After all, if a 
user can't see
a change is made, or is referring to out of date documentation, then they 
aren't making use
of the effort you put into making a change. If you made the change you are in 
the best position
to describe it.

git log sql/sys_vars.cc

has quite a number of examples including

2ab49689c689b1c1daeb080ea568c268c5256952
cdb8e6ed38ce641a6cb90a4a93bc5ff15f3ba9f2
a978bdda1e2de35c79e432f026869e163657a263


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MDEV-5536 / MDEV-427 / MDEV-5713 - systemd socket activation, notify

2015-04-21 Thread Daniel Black

This adds systemd socket activation (listening file descriptors passed on on 
startup), and systemd notification parts to the core mysql and bits of innodb 
that may take a bit of time.

Scripts to convert from my.cnf settings to a socket activation file are 
included.

support-files/mariadb.service has been included which replaces every bit of 
mysqld_safe with prebuilt systemd functionality.

Systemd can be enabled at compile time and still will support non-system.

Even when systemd compile time options are enabled, mysqld will still run in an 
existing init script or like an existing service.

For review:

https://github.com/MariaDB/server/pull/26

Thanks Jan for the innodb side of the review so far.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] Coverity scanning

2015-04-21 Thread Daniel Black
Hi,

Seems MariaDB has an active Coverity project 
https://scan.coverity.com/projects/284 ...
but it hasn't been looked at for a while.

>From my list of bugs I suspect it would of found issues like:
* MDEV-7977
* MDEV-7864
* MDEV-4980

In correcting these before release it would of benefited MariaDB by:
* Not having SEGV / assertions faults occurring on user machines (even if they 
where test machines)
* hours of time by Elena and me to get a test cases produced for obvious logic 
bugs



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Need help merging MDEV-7387 from 10.0 to 10.1

2015-04-17 Thread Daniel Black


- Original Message -
> Hi Bar,
> 
> Can you please merge the following patch 10.0 -> 10.1?
> 
> commit bc902a2bfc46add0708896c07621e3707f66d95f
> Author: Alexander Barkov 
> Date:   Fri Mar 13 16:12:54 2015 +0400
> 
>   MDEV-7387 [PATCH] Alter table xxx CHARACTER SET utf8, CONVERT TO 
> CHARACTER
>   SET latin1 should fail
> 
> Eg. run `git merge bc902a2bfc46add0708896c07621e3707f66d95f` in a 10.1 tree.

Single merge:

https://github.com/MariaDB/server/pull/43

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Need help merging MDEV-7387 from 10.0 to 10.1

2015-04-17 Thread Daniel Black


https://github.com/MariaDB/server/pull/42

All conflicts resolved and selective tests run.


- Original Message -
> Hi Bar,
> 
> Can you please merge the following patch 10.0 -> 10.1?
> 
> commit bc902a2bfc46add0708896c07621e3707f66d95f
> Author: Alexander Barkov 
> Date:   Fri Mar 13 16:12:54 2015 +0400
> 
>   MDEV-7387 [PATCH] Alter table xxx CHARACTER SET utf8, CONVERT TO 
> CHARACTER
>   SET latin1 should fail
> 
> Eg. run `git merge bc902a2bfc46add0708896c07621e3707f66d95f` in a 10.1 tree.
> 
> Or alternatively, tell me how to resolve the below conflict in the merge,
> which is seen in sql/handler.h, so I can do the merge?
> 
> (This conflict is blocking me from pushing MDEV-7249, MDEV-5289, MDEV-7668,
> and MDEV-7802 into 10.1...)
> 
>  - Kristian.
> 
> ---
> sql/handler.h:
> 
> <<<<<<< HEAD
>   void init()
>   {
> bzero(this, sizeof(*this));
>   }
>   bool tmp_table() const { return options & HA_LEX_CREATE_TMP_TABLE; }
>   void use_default_db_type(THD *thd)
>   {
> db_type= tmp_table() ? ha_default_tmp_handlerton(thd)
>  : ha_default_handlerton(thd);
>   }
> };
> 
> 
> /**
>   This struct is passed to handler table routines, e.g. ha_create().
>   It does not include the "OR REPLACE" and "IF NOT EXISTS" parts, as these
>   parts are handled on the SQL level and are not needed on the handler level.
> */
> struct HA_CREATE_INFO: public Table_scope_and_contents_source_st,
>public Schema_specification_st
> {
>   void init()
>   {
> Table_scope_and_contents_source_st::init();
> Schema_specification_st::init();
>   }
> };
> 
> 
> /**
>   This struct is passed to mysql_create_table() and similar creation
>   functions,
>   as well as to show_create_table().
> */
> struct Table_specification_st: public HA_CREATE_INFO,
>public DDL_options_st
> {
>   // Deep initialization
>   void init()
>   {
> HA_CREATE_INFO::init();
> DDL_options_st::init();
>   }
>   void init(DDL_options_st::Options options)
>   {
> HA_CREATE_INFO::init();
> DDL_options_st::init(options);
>   }
>   /*
> Quick initialization, for parser.
> Most of the HA_CREATE_INFO is left uninitialized.
> It gets fully initialized in sql_yacc.yy, only when the parser
> scans a related keyword (e.g. CREATE, ALTER).
>   */
>   void lex_start()
>   {
> HA_CREATE_INFO::options= 0;
> DDL_options_st::init();
>   }
> ||| merged common ancestors
>   bool tmp_table() { return options & HA_LEX_CREATE_TMP_TABLE; }
> ===
>   bool tmp_table() { return options & HA_LEX_CREATE_TMP_TABLE; }
>   bool check_conflicting_charset_declarations(CHARSET_INFO *cs);
>   bool add_table_option_default_charset(CHARSET_INFO *cs)
>   {
> // cs can be NULL, e.g.:  CREATE TABLE t1 (..) CHARACTER SET DEFAULT;
> if (check_conflicting_charset_declarations(cs))
>   return true;
> default_table_charset= cs;
> used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
> return false;
>   }
>   bool add_alter_list_item_convert_to_charset(CHARSET_INFO *cs)
>   {
> /*
>   cs cannot be NULL, as sql_yacc.yy translates
>  CONVERT TO CHARACTER SET DEFAULT
>   to
>  CONVERT TO CHARACTER SET 
>   TODO: Should't we postpone resolution of DEFAULT until the
>   character set of the table owner database is loaded from its db.opt?
> */
> DBUG_ASSERT(cs);
> if (check_conflicting_charset_declarations(cs))
>   return true;
> table_charset= default_table_charset= cs;
> used_fields|= (HA_CREATE_USED_CHARSET | HA_CREATE_USED_DEFAULT_CHARSET);
> return false;
>   }
> >>>>>>> bc902a2bfc46add0708896c07621e3707f66d95f
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp
> 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Rev 4407: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views

2015-04-13 Thread Daniel Black
VIEW viewname - without FROM MYSQL - should work too, it
> should add mariadb_version field without changing the algorithm.

ok. Done - 

https://github.com/MariaDB/server/commit/76c18f7e76dff6f5c5f8986e0480074a3100fdbe

> > === modified file 'sql/sql_yacc.yy'
> > --- a/sql/sql_yacc.yy   2014-11-08 18:54:42 +
> > +++ b/sql/sql_yacc.yy   2015-02-09 01:48:28 +
> > @@ -1145,6 +1145,7 @@ bool my_yyoverflow(short **a, YYSTYPE **
> >  %token  MULTIPOINT
> >  %token  MULTIPOLYGON
> >  %token  MUTEX_SYM
> > +%token  MYSQL_SYM
> >  %token  MYSQL_ERRNO_SYM
> >  %token  NAMES_SYM /* SQL-2003-N */
> >  %token  NAME_SYM  /* SQL-2003-N */
> > @@ -7191,11 +7192,16 @@ opt_checksum_type:
> >  ;
> >  
> >  repair:
> > -  REPAIR opt_no_write_to_binlog table_or_tables
> > +  REPAIR opt_no_write_to_binlog table_or_view
> >{
> >  LEX *lex=Lex;
> >  lex->sql_command = SQLCOM_REPAIR;
> >  lex->no_write_to_binlog= $2;
> > +if (lex->no_write_to_binlog && lex->only_view)
> > +{
> > +  my_parse_error(ER(ER_SYNTAX_ERROR));
> > +  MYSQL_YYABORT;
> 
> Why? REPAIR NO_WRITE_TO_BINLOG VIEW makes perfect sense to me, why did
> you want to disallow it?

corrected:

https://github.com/MariaDB/server/commit/28b173134ee1634a2489d3cef6faf2f3ea1f6ab4



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] CREATE/ALTER USER syntax in MySQL 5.7.5/5.7.6

2015-04-13 Thread Daniel Black


- Original Message -
> Hi, Peter!
> 
> On Apr 10, Peter Laursen wrote:
> > Please read MySQL 5.7 documentation on CREATE USER and ALTER USER syntax:
> > https://dev.mysql.com/doc/refman/5.7/en/create-user.html
> > https://dev.mysql.com/doc/refman/5.7/en/alter-user.html
> > (note before/after version 5.7.5/5.7.6 changes)
> > 
> > .. as well as this blog:
> > http://mysqlblog.fivefarmers.com/2015/04/10/improved-alter-user-syntax-support-in-5-7/
> > "With changes made in MySQL Server 5.7.6, a better distinction is made
> > between privilege-level attributes (those which are managed via GRANT and
> > REVOKE statements) and account-level attributes (those managed using CREATE
> > USER and ALTER USER statements).  MySQL has a long history of confusing
> > these – for example, requiring a GRANTcommand to set account resource
> > limits or require SSL. "
> > 
> > I think this is a very valid observation and thus also change. Does MariaDB
> > have plans to implement the full CREATE/ALTER USER syntax of MySQL
> > 5.7.5/5.7.6?
> 
> Yes.
> 

for reference:

https://mariadb.atlassian.net/browse/MDEV-7978


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Rev 4407: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views

2015-04-12 Thread Daniel Black
>> +test.v3checkstatusneeds repair
> > >> +test.v4checknoteView text checksum failed
> > >> +test.v5checkstatusOK
> > >> +repair view v1,v2,v3,v4,v5 FROM MYSQL;
> > > where's the test for "repair view" without FROM MYSQL ?
> > I'll add.
> 
> Please add also a test to show how REPAIR VIEW is replicated. Doesn't
> have to be a replication test, really. I'd say that "show binlog events"
> after the REPAIR VIEW should suffice. Use include/show_binlog_events.inc


I'll fix the test cases when I get the mysql-test/std_data/mysql_upgrade/* 
files.


> > >> +TableOpMsg_typeMsg_text
> > >> +test.v1repairstatusview is repaired
> > >> +test.v2repairstatusview is repaired
> > >> +test.v3repairstatusview is repaired
> > >> +test.v4repairstatusview is repaired
> > >> +test.v5repairstatusOK
> > >>
> > >> === modified file 'sql/share/errmsg-utf8.txt'
> > >> --- a/sql/share/errmsg-utf8.txt2014-05-27 06:45:01 +
> > >> +++ b/sql/share/errmsg-utf8.txt2015-02-09 01:48:28 +
> > >> @@ -6565,3 +6565,9 @@ ER_QUERY_EXCEEDED_ROWS_EXAMINED_LIMIT
> > >>   ER_NO_SUCH_TABLE_IN_ENGINE 42S02
> > >>           eng "Table '%-.192s.%-.192s' doesn't exist in engine"
> > >>           swe "Det finns ingen tabell som heter '%-.192s.%-.192s' i
> > >>           handlern"
> > >> +ER_NO_MARIADB_SERVER_FIELD
> > >> +        eng "view '%-.192s.%-.192s' has no field mariadb server in its
> > >> .frm file"
> > > First, it's "mariadb_version", not "mariadb_server".
> > > Second, I'm not sure such a specific condition needs a dedicated error
> > > code.
> > >
> > > And last - we absolutely cannot add new error messages in 5.5, because
> > > 10.0 is already GA. I've already written that in my previous review.
> 
> Did you miss this comment or you will do the change?

Done:

https://github.com/openquery/mariadb-server/commit/4409e04d891fba62a3f4ed291c96ee34d645dbec


> > >> +ER_VIEW_REPAIR_IS_DONE
> > >> +        eng "view is repaired"
> > >> +ER_NEEDS_REPAIR
> > >> +        eng "needs repair"
> > >>
> > >> === modified file 'sql/sql_admin.cc'
> > >> --- a/sql/sql_admin.cc2014-05-03 16:12:17 +
> > >> +++ b/sql/sql_admin.cc2015-02-09 01:48:28 +
> > >> @@ -867,6 +879,22 @@ send_result_message:
> > >>         fatal_error=1;
> > >>         break;
> > >>       }
> > >> +    case HA_ADMIN_VIEW_REPAIR_IS_DONE:
> > > Why did you need that, what's wrong with HA_ADMIN_OK?
> > > Btw, I've already written that in my previous review.
> 
> Did you miss this comment or you will do the change?


Done:

https://github.com/openquery/mariadb-server/commit/4409e04d891fba62a3f4ed291c96ee34d645dbec

> > >
> > >> +    {
> > >> +      protocol->store(STRING_WITH_LEN("status"), system_charset_info);
> > >> +      protocol->store(ER(ER_VIEW_REPAIR_IS_DONE),
> > >> +                      strlen(ER(ER_VIEW_REPAIR_IS_DONE)),
> > >> +                      system_charset_info);
> > >> +      break;
> > >> +    }
> > >> +    case HA_ADMIN_NEEDS_REPAIR:
> > > Why did you need that, what's wrong with HA_ADMIN_NEEDS_UPGRADE?
> 
> Did you miss this comment or you will do the change?

Done:

https://github.com/openquery/mariadb-server/commit/4409e04d891fba62a3f4ed291c96ee34d645dbec


> > >> +    {
> > >> +      protocol->store(STRING_WITH_LEN("status"), system_charset_info);
> > >> +      protocol->store(ER(ER_NEEDS_REPAIR),
> > >> +                      strlen(ER(ER_NEEDS_REPAIR)),
> > >> +                      system_charset_info);
> > >> +      break;
> > >> +    }
> > >>   
> > >>       default:// Probably 
> > >> HA_ADMIN_INTERNAL_ERROR
> > >>         {
> > >> === modified file 'sql/sql_base.cc'
> > >> --- a/sql/sql_base.cc2014-10-31 13:07:29 +
> > >> +++ b/sql/sql_base.cc2015-02-09 01:48:28 +
> > >> @@ -3019,12 +3020,17 @@ bool open_table(THD *thd, TABLE_LIST *ta
> > >>     else if (table_list->open_strategy == TABLE_LIST::OPEN_STUB)
> > >>       DBUG_RETURN(FALSE);
> > >>   
> > >> +
> > > second empty line?
> 
> Did you miss this comment or you will do the change?

Done:

https://github.com/openquery/mariadb-server/commit/4409e04d891fba62a3f4ed291c96ee34d645dbec



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Rev 4407: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views

2015-04-11 Thread Daniel Black

Hi Sanja!

I was trying to continue this piece of work (incorporating Sergei's review 
below) since it seems abandoned. Bit sad since it looks like you put a lot of 
effort into this.

Unfortunately the binary mysql-test/std_data/mysql_upgrade/event.* files didn't 
make it to the mailing list 
(http://lists.askmonty.org/pipermail/commits/2015-February/007386.html).

Any chance you could create a git branch of work so far (or even just email the 
mysql-test/std_data/mysql_upgrade/event.* files to me)?


- Original Message -
> Hi, Sanja!
> 
> On Feb 09, Oleksandr Byelkin wrote:
> > On 09.02.15 15:19, Sergei Golubchik wrote:
> > > On Feb 09, sa...@askmonty.org wrote:
> > >> At file:///home/bell/maria/bzr/work-maria-5.5-MDEV-6916-check_view/

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] spelling and code comment fixes for review

2015-04-07 Thread Daniel Black

No code changes.

For review:

Fixing comments

https://github.com/MariaDB/server/pull/24

And spelling in comments:

https://github.com/MariaDB/server/pull/36


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] MDEV-7781 Allow {un, }install plugins during bootstrap/skip-grant-tables

2015-04-07 Thread Daniel Black

For review:

https://github.com/MariaDB/server/pull/29


Simple one, this allows plugins to be removed/installed during bootstrap 
(opt_noacl=true) but still enforces access control in normal operation.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Passwordless MariaDB root login with auth_socket in Debian continues..

2015-04-06 Thread Daniel Black


- Original Message -
> Today, I upgraded my server and all finished OK.
> 
> But can't access to Engine.
> 
> 
> root@d7:/home/dac# mysql -u root -p
> Enter password:
> ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded


does /etc/mysql/my.cnf symlink to /etc/mysql/mariadb.cnf?

I suspect this was missed somehow.

Is there a plugin-load-add from the config file?
https://github.com/ottok/mariadb-10.0/blob/2f0dff8afbe13d0c21613a8fb55d4df7d4a6e6f7/debian/additions/mariadb.conf.d/mysqld.cnf#L103


An upstream (or distro) merge of this would make it redundant.

https://github.com/MariaDB/server/pull/29


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4428: MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views in file:///home/bell/maria/bzr/work-maria-5.5-MDEV-6916-repair_view/

2015-04-04 Thread Daniel Black

Nice work Oleksandr,

Be good to see this committed. I really like the no options bit of 
mysql_upgrade and the use of is_mysql function.


- Original Message -
> At file:///home/bell/maria/bzr/work-maria-5.5-MDEV-6916-repair_view/
> 
> 
> revno: 4428
> revision-id: sa...@askmonty.org-20150213124726-9rn55t3qqx7yzy9q
> parent: jplin...@mariadb.org-20150210121723-1gxyej083cf1nv8h
> committer: sa...@askmonty.org
> branch nick: work-maria-5.5-MDEV-6916-repair_view
> timestamp: Fri 2015-02-13 13:47:26 +0100
> message:
>   MDEV-6916: Upgrade from MySQL to MariaDB breaks already created views
>   
>   CHECK/REPAIR commands and mysql_upgrade support for upgrade from MySQL
>   server support.
> 
> 
> [Text File:patch-4428.diff]
> 
> ___
> commits mailing list
> comm...@mariadb.org
> https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [server] Mdev 7802 binlog groupcommit stats (#30)

2015-04-02 Thread Daniel Black


- Original Message -
> Daniel Black  writes:
> What do you think of something like
> 
>   binlog_commit_trigger_count
>   binlog_commit_trigger_timeout
> 
> instead ?

to maintain consistency with binlog_group_commits...

binlog_group_commit_trigger_count
binlog_group_commit_trigger_timeout

binlog_group_commit_reason_immediate removed

ref: 
https://github.com/openquery/mariadb-server/commit/1d5220d1124111f563f9faec355c9343f6e40849

> If not, maybe just have a single status variable, like
> 
>   binlog_commit_trigger_lock_wait

done.

> So this increments the global status variables directly, I think?
> How does the thread locking work? Is it possible for a reader to see a
> corrupt
> value (eg. one word of the old value and one word of the new) on 32-bit
> platform?

Incrementing of counters was already under LOCK_prepare_ordered.

Used this lock in the status retrieval and made sure it didn't overlap with the 
LOCK_commit_ordered 
used by the other binlog status variables.

https://github.com/openquery/mariadb-server/commit/dd7026a703aabdbe0430bf5f32c6f4f5c6d9c240

> With respect to the test cases: Can you please comment yourself on the
> different places where you added output of the status variables, and explain
> why this output will always be the same, no matter how threads are scheduled
> on the machine running the test? (This is the critical part of most tests
> related to replication; because of the inherently multi-threaded nature of
> such tests, a lot of care is needed to make sure the test will not produce
> different output on different test runs depending on the speed of the host or
> how threads are scheduled on a loaded machine).

Added: 
https://github.com/openquery/mariadb-server/commit/0695fdd9df3501a02ae473c23992345c19342aa8



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [server] Mdev 7802 binlog groupcommit stats (#30)

2015-04-01 Thread Daniel Black


- Original Message -
> Daniel Black  writes:
> 
> Thanks for your patch. I agree that these kinds of status information could
> be
> useful. But I have some parts that are not clear, and I want you to think
> about the questions below and answer with your thoughts. This is to make sure
> you understand yourself the issue in detail; to help me understand it; and in
> some cases maybe some changes should be made.
> 
> > The following global status variables where added:
> > * binlog_group_commit_reason_count
> > * binlog_group_commit_reason_usec
> 
> So, these names seem a bit odd. Neither "count" nor "usec" makes much sense
> as a reason for something to happen. "_timeout" would be a better reason that
> "_usec", but I am not sure of a better name for "_count". The good thing
> about these names of course is that they match the corresponding
> --binlog-commit-wait-* option.
> 
> What do you think of something like
> 
>   binlog_commit_trigger_count
>   binlog_commit_trigger_timeout
> 
> instead ?

Sure. reason->trigger and usec->timeout work.

Regarding the dropping of "group_", I was trying to keep it aligned in name the 
total - binlog_group_commits

so instead

binlog_group_commit_trigger_{count,timeout,}


> > * binlog_group_commit_reason_transaction
> > * binlog_group_commit_reason_immediate
> 
> > binlog_group_commit_reason_transaction is a result of ordered
> > transaction that need to occur in the same order on the slave and can't
> > be parallelised.
> >
> > binlog_group_commit_reason_immediate is caused to prevent stalls with
> > row locks as described in log.cc:binlog_report_wait_for. This immediate
> > count is also counted a second time in
> > binlog_group_commit_reason_transaction.
> 
> Please re-read that explanation, and consider: do you think an average
> user/DBA will fully understand what these status variables mean? Honestly, I
> am wondering if you can even yourself explain exactly what the difference is
> between the two :-).

Good test. I'd be struggling a bit without the above explanation. I was looking 
at something that would make up the difference to 

> Can you give two simple examples of transactions, one example of which will
> increment the _transaction status variable

e.g.1

create temporary table x ( x int);
insert into x values (4); (probably don't even need this one(?)).


e.g.2

C1: begin
C1: update y set x=x/3 where z=4
C1: commit
C2: begin
C2: update y set x=4 where z=4
C2: commit

where they occur in different connections within the same 
binlog-commit-wait-usec so the first is committed in a different group so that 
C2 doesn't have to deadlock.

> and one of which will increment
> the _immediate?

update x set y=3;
(statement) insert into y select * from x where y=3;

Perhaps I was measuring in the wrong spot however group_commit_reason_immediate 
was always 0 in the patch to binlog_commit_wait.test/result that I added.

> Do you think the distinction between the two is useful for the user?

the _immediate suggests a tighter contention in row locks that perhaps can't be 
avoided however _transaction would indicate that perhaps binlog-commit-wait-{} 
is too high


> If not, maybe just have a single status variable, like
> 
>   binlog_commit_trigger_lock_wait
> 
> for example?
> 
> > Overall binlog_group_commits = binlog_group_commit_reason_count +
> > binlog_group_commit_reason_usec + binlog_group_commit_reason_transaction

Yes holding that relationship would be good. the overlap of 
transaction/immediate was bad form.

> Is this also true if --binlog-commit-wait-count=0?

I'd hope so but I'm not sure.

> If so, what will the
> values of the different status variables be in this case?



> 
> Now, to the patches.
> 
> > +   {
> > + if (++count >= opt_binlog_commit_wait_count)
> > + {
> > +   group_commit_reason_count++;
> > +   return;
> > + }
> > + if (unlikely(e->thd->has_waiter))
> > + {
> > +   group_commit_reason_transaction++;
> > return;
> > + }
> > +   }
> 
> So this increments the global status variables directly, I think?

group_commit_reason_count / group_commit_reason_transaction are members of the 
MYSQL_BIN_LOG class so I'm assuming there is only one of these.


> How does the thread locking work? Is it possible for a reader to see a
> corrupt value (eg. one word of the old value and one word of the new) on 
> 32-bit
> platform?

Badly. Looks like I'll need to move some bits so they are under 
LOCK_prepare_ordered which seems to be acquired close to reachable. I&#x

Re: [Maria-developers] [JIRA] (MDEV-7557) Option to put into slow log any transaction that was retried in parallel replication

2015-03-23 Thread Daniel Black


- Original Message -
> "Sergei Golubchik (JIRA)"  writes:
> 
> >> Key: MDEV-7557
> >> URL: https://mariadb.atlassian.net/browse/MDEV-7557
> 
> >> In optimistic parallel replication (MDEV-6676), we speculatively apply
> >> transactions in parallel, even if they might conflict. If too many
> >> conflicts
> >> happen, excessive retry might degrade performance.
> >> The DBA needs some way to monitor for such problems. One good way would
> >> seem
> >> to have an option to add to the slow query log any transactions that were
> >> retried due to parallel replication conflicts. Possibly with extra
> >> information  such as duration of transaction and similar.

great feature request.

> > I'm not sure that slow log is a good match for this kind of events

It only makes it hard if the format is incompatible with mysqldumpslow

> Right. So do you have a suggestion for a better way?
> 
> I was thinking on --log-queries-not-using-indexes, which similarly uses the
> slow query log to expose certain kinds of problematic queries. So queries
> that
> cause deadlocks could be another useful filter for the slow log (it should
> then probably be for all queries that deadlock, not just replication
> queries).
> 
> In non-parallel replication, we put deadlock errors as warnings in the error
> log. But I disabled that for parallel replication. In non-parallel
> replication, you normally do not expect any deadlocks (since there is only
> one
> thread, how can it deadlock?). But in parallel replication, deadlocks are
> generally unavoidable, and not harmful. And DBAs do not like noise in the
> error logs that does not indicate a problem and cannot be removed.
> 
> One option might be to log deadlocks as INFO level in the error log, and then
> users can temporarily raise verbosity level to see them?
> 
> Another option could be to add an option to enable/disable logging deadlocks
> as warnings in parallel replication. (Though probably you will think as me,
> that this feels a bit like too ad-hoc an option to add.)
> 
> Any other ideas?

Use a variable long_rollback_time as the trigger. The query time is generally 
unavoidable
however if the rollback time (for all retries) for the queries starts to rise 
that's when you want to notice.

The log should show the number of rollbacks as well. I'd be happy if this 
included application rollbacks too but isn't essential.

Slow query log I think is a reasonable fit as 
log-slow-verbosity=query_plan,explain 
gives you a fairly good idea as to which indexes are locked.


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Passwordless MariaDB root login with auth_socket in Debian continues..

2015-03-14 Thread Daniel Black


- Original Message -
> 
> 
> - Original Message -
> > Its something that i did fix on the patch i sent previously, its the
> > "INSTALL PLUGIN" statement that cannot be executed while "mysqld" has
> > been ran with "--skip-grant-table", it should be replaced by an "INSERT"
> > on the "mysql.plugin" table.
> > 
> > The line 192 :
> >  INSTALL PLUGIN unix_socket SONAME 'auth_socket';
> > 
> > Must be replaced with :
> >  INSERT INTO mysql.plugin (name, dl) VALUES ('unix_socket',
> > 'auth_socket');
> > 
> 
> Ah, I see, seems even removing --skip-grant-tables isn't enough

--skip-grant-tables is implied by --bootstrap

..
> While insert probably works for auth_socket as it has no init function on
> install, devs is there a reason why you can't install a plugin in bootstrap?

https://mariadb.atlassian.net/browse/MDEV-7781

https://github.com/MariaDB/server/pull/28/files

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Passwordless MariaDB root login with auth_socket in Debian continues..

2015-03-14 Thread Daniel Black


- Original Message -
> Its something that i did fix on the patch i sent previously, its the
> "INSTALL PLUGIN" statement that cannot be executed while "mysqld" has
> been ran with "--skip-grant-table", it should be replaced by an "INSERT"
> on the "mysql.plugin" table.
> 
> The line 192 :
>  INSTALL PLUGIN unix_socket SONAME 'auth_socket';
> 
> Must be replaced with :
>  INSERT INTO mysql.plugin (name, dl) VALUES ('unix_socket',
> 'auth_socket');
> 

Ah, I see, seems even removing --skip-grant-tables isn't enough

./scripts/mysql_install_db  --srcdir=.  --no-defaults  --ldata=/tmp/db

echo "INSTALL PLUGIN unix_socket SONAME 'auth_socket';" | sql/mysqld 
--no-defaults  --socket /tmp/s.sock --datadir=/tmp/db  --lc-messages-dir 
/home/dan/software_projects/mariadb-server/sql/share  --pid-file=/tmp/m.pid 
--log-bin=/tmp/db --skip-networking --bootstrap
150315 10:31:45 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2015-03-15 10:31:45 7fb800be08c0 InnoDB:  UNIV_DEBUG switched on 
!
2015-03-15 10:31:45 7fb800be08c0 InnoDB:  UNIV_SYNC_DEBUG switched on 
!
150315 10:31:45 [Note] InnoDB: The InnoDB memory heap is disabled
150315 10:31:45 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
150315 10:31:45 [Note] InnoDB: Memory barrier is not used
150315 10:31:45 [Note] InnoDB: Compressed tables use zlib 1.2.8
150315 10:31:45 [Note] InnoDB: Using Linux native AIO
150315 10:31:45 [Note] InnoDB: Using CPU crc32 instructions
150315 10:31:45 [Note] InnoDB: Initializing buffer pool, size = 128.0M
150315 10:31:45 [Note] InnoDB: Completed initialization of buffer pool
150315 10:31:45 [Note] InnoDB: Highest supported file format is Barracuda.
150315 10:31:46 [Note] InnoDB: 128 rollback segment(s) are active.
150315 10:31:46 [Note] InnoDB: Waiting for purge to start
150315 10:31:46 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 
5.6.22-72.0 started; log sequence number 1616727
150315 10:31:46 [Note] InnoDB: not started
ERROR: 1290  The MariaDB server is running with the --skip-grant-tables option 
so it cannot execute this statement


While insert probably works for auth_socket as it has no init function on 
install, devs is there a reason why you can't install a plugin in bootstrap?

sql/sql_plugin.cc

bool mysql_install_plugin(THD *thd, const LEX_STRING *name,
  const LEX_STRING *dl_arg)
{
...
  DBUG_ENTER("mysql_install_plugin");

  if (opt_noacl)
  {
my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--skip-grant-tables");


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Passwordless MariaDB root login with auth_socket in Debian continues..

2015-03-14 Thread Daniel Black


- Original Message -
> Hello Daniel B. and others,
> 
> I decided to write to you via the mailing list so that we are
> inclusive if somebody wants to join our effort to create a solid
> passwordless (Debian/Ubuntu) packaging.
> 
> Thanks Daniel for all the pull requests you've made. Unfortunately
> there are still some bugs. Now it ends with 'ERROR 1524 (HY000):
> Plugin 'unix_socket' is not loaded'
..
> $ apt-get purge 'mysql-*' 'mariadb-*'; rm -rf /etc/mysql
> /var/lib/mysql; apt-get clean; apt-get update
> [..]
> 
> $ apt-get install mariadb-server
> [..]
> 


Ok. I can reproduce this.


> Please figure out what is still missing and open new pull requests to fix it
> :)

after the install here is the conf directories:

find /etc/mysql/ -ls
2603774 drwxr-xr-x   4 root root 4096 Mar 14 22:40 /etc/mysql/
2605004 -rw-r--r--   1 root root 3533 Feb  9 10:33 
/etc/mysql/my.cnf
2605844 -rw-r--r--   1 root root  744 Feb  9 19:21 
/etc/mysql/mariadb.cnf
2605074 drwxr-xr-x   2 root root 4096 Mar 14 22:39 
/etc/mysql/conf.d
2605150 -rw-r--r--   1 root root0 Feb  9 14:41 
/etc/mysql/conf.d/.keepme
2608684 -rw-r--r--   1 root root  285 Feb 25 15:41 
/etc/mysql/conf.d/tokudb.cnf
2610694 -rwxr-xr-x   1 root root 1312 Feb  8 12:32 
/etc/mysql/debian-start
2605184 drwxr-xr-x   2 root root 4096 Mar 14 22:39 
/etc/mysql/mariadb.conf.d
2605194 -rw-r--r--   1 root root  306 Feb  8 12:32 
/etc/mysql/mariadb.conf.d/mysqld_safe.cnf
2605214 -rw-r--r--   1 root root 2715 Feb  8 12:32 
/etc/mysql/mariadb.conf.d/mysqld.cnf
2605334 -rw-r--r--   1 root root  111 Feb  8 12:32 
/etc/mysql/mariadb.conf.d/client.cnf
2610734 -rw---   1 root root  277 Mar 14 22:40 
/etc/mysql/debian.cnf

This fails as the  /etc/mysql/my.cnf from mysql-common is used.

after doing the obscure instructions in the output:

rm /etc/mysql/my.cnf && ln -s mariadb.cnf /etc/mysql/my.cnf

Solid packaging should to this without the user.

The unix_socket plugin is loaded as this is specified in /etc/mysql/mariadb.cnf

This has been raised as an issue https://github.com/ottok/mariadb-10.0/issues/10

Given the contents on mysql-common can it be removed as a dependency (and added 
as conflicting package), mariadb-common to install /etc/mysql/conf.d (not sure 
if needed) and add the symlink?

These kind of alterations require a deeper understanding of debian policy and 
practice than I am familiar with.

dpkg -L mysql-common
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/mysql-common
/usr/share/doc/mysql-common/copyright
/usr/share/doc/mysql-common/changelog.Debian.gz
/usr/share/doc/mysql-common/changelog.gz
/usr/share/doc/mysql-common/NEWS.Debian.gz
/etc
/etc/mysql
/etc/mysql/my.cnf
/etc/mysql/conf.d
/etc/mysql/conf.d/.keepme

# dpkg -L mariadb-common
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/mariadb-common
/usr/share/doc/mariadb-common/changelog.Debian.gz
/usr/share/doc/mariadb-common/copyright
/etc
/etc/mysql
/etc/mysql/mariadb.conf.d
/etc/mysql/mariadb.conf.d/mysqld_safe.cnf
/etc/mysql/mariadb.conf.d/mysqld.cnf
/etc/mysql/mariadb.conf.d/client.cnf
/etc/mysql/mariadb.cnf

# more /etc/mysql/mariadb.cnf

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/




-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Maria-discuss] Enabling feedback pluging for MariaDB 10.1.4

2015-03-11 Thread Daniel Black

There are many perfectly valid reasons for keeping it disabled by default.

If you want to raise the profile/use of the feedback plugin have you considered 
making it into its own package that includes the shared library and config 
files in /etc/my{.cnf.d,sql}/feedback.cnf ?

It makes it more visible to sysadmins than a shared library and a kb page.

Just need to come up with a marketable name.

-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-03-02 Thread Daniel Black

Looks all right. Trying to test in a wheezy chroot.

Needed https://github.com/ottok/mariadb-10.0/pull/8 applied for the wheezy 
version.

even applying all the debian/patches/*.patch the following build error occurs

dh build


CMake Error at cmake/plugin.cmake:204 (INSTALL):
  install FILES given no DESTINATION!
Call Stack (most recent call first):
  storage/oqgraph/CMakeLists.txt:52 (MYSQL_ADD_PLUGIN)


-- OQGraph OK
-- CONNECT: GCC: Some warnings disabled
CMake Error at cmake/plugin.cmake:204 (INSTALL):
  install FILES given no DESTINATION!
Call Stack (most recent call first):
  storage/connect/CMakeLists.txt:282 (MYSQL_ADD_PLUGIN)


-- Configuring incomplete, errors occurred!
make: *** [override_dh_auto_configure] Error 1


adding SET(INSTALL_SYSCONFDIR_DEB "/etc/mysql")
to cmake/install_layout.cmake didn't help it.


little lost what to do.


- Original Message -
> I'm trying to engineer a fix for this but it seems really tricky. Here
> is what I've got so far:
> https://github.com/ottok/mariadb-10.0/commit/26fd165625b2e840fbda05ed11e5b7c12f308fca
> 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-02-24 Thread Daniel Black


- Original Message -
> Thanks for your help!
> 
> How should this then be re-written correctly?

Thinking strip away the procedures and work directly with a query of the 
information schema.

perhaps even just call: set sql_log_bin=0; install plugin "unix_socket"

and ignore the error if it exists..

> SET sql_log_bin=0; USE mysql; DELIMITER //; CREATE PROCEDURE
> debian_plugin_install(IN plugin_name CHAR(50), IN soname CHAR(50))
> BEGIN DECLARE CONTINUE HANDLER FOR NOT FOUND  EXECUTE
> inst_plug; set @plugin_name=plugin_name; set @soname=soname ;set
> @install_plugin=CONCAT(\"INSTALL PLUGIN \",@plugin_name,\" SONAME '\",
> @soname, \"'\");PREPARE inst_plug FROM @install_plugin ;
> select PLUGIN_NAME INTO @a from  information_schema.plugins where
> PLUGIN_NAME=@plugin_name AND PLUGIN_STATUS='ACTIVE' AND
> PLUGIN_TYPE='AUTHENTICATION' AND PLUGIN_LIBRARY LIKE
> concat(@soname,'%'
> ); DEALLOCATE PREPARE inst_plug; END// CALL
> debian_plugin_install('unix_socket', 'auth_socket') // DROP PROCEDURE
> debian_plugin_install//
> 
> https://github.com/ottok/mariadb-10.0/blob/master/debian/mariadb-server-10.0.postinst#L179
> 
> Pull requests appreciated :)
> 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-02-23 Thread Daniel Black


- Original Message -
> Manually executing the command result in this error :
>  ERROR: 1064  You have an error in your SQL syntax; check the
> manual that corresponds to your MariaDB server version for the right
> syntax to use near 'USE mysql;DELIMITER //; CREATE PROCEDURE
> debian_plugin_install(IN plugin_name C' at line 1
>  150223 22:44:06 [ERROR] Aborting
> 
> By adding \n between each of these statements we can see that the
> statement causing the syntax error is "DELIMITER //;", it seems that
> DELIMITER is only used by mysql client and the that mysqld doesnt
> recognize it as an internal command.

thank you


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] passwordless mariadb root login with auht_socket in Debian

2015-02-23 Thread Daniel Black
I partly got started on the weekend but didn't get far.

I'll continue looking this afternoon.

- Original Message -
> Daniel, anybody..?
> 
> 2015-02-20 22:52 GMT+02:00 Otto Kekäläinen :
> > Hello Daniel!
> >
> > It seems there are some issues with the passwordless login patch you
> > sent me some weeks ago (https://github.com/ottok/mariadb-10.0/pull/3)
> >
> > Can you help me debug the failing postinst script?
> >
> >
> > I added 'set -x' to the mariadb-server-10.0.postinst script and when
> > it is run during the configure phase it will exit with code 1 and make
> > dpkg abort the installation.
> >
> > Last lines of execution:
> >  SET sql_log_bin=0;
> >  CREATE TABLE IF NOT EXISTS plugin (name char(64) COLLATE utf8_bin NOT
> > NULL DEFAULT '\'''\'',dl char(128) COLLATE utf8_bin NOT NULL
> > DEFAULT '\'''\'',PRIMARY KEY (name)) ENGINE=MyISAM DEFAULT
> > CHARSET=utf8 COLLATE=utf8_bin COMMENT='\''MySQL plugins'\'';'
> > + logger -p daemon.err -t mysqld_safe -i
> > + /usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables
> > --default-storage-engine=myisam --plugin-load-add=auth_socket
> > + set -e
> > + echo 'SET sql_log_bin=0; USE mysql; DELIMITER //; CREATE PROCEDURE
> > debian_plugin_install(IN plugin_name CHAR(50), IN soname CHAR(50))
> > BEGIN DECLARE CONTINUE HANDLER FOR NOT FOUND  EXECUTE
> > inst_plug; set @plugin_name=plugin_name; set @soname=soname ;set
> > @install_plugin=CONCAT("INSTALL PLUGIN ",@plugin_name," SONAME '\''",
> > @soname, "'\''");PREPARE inst_plug FROM @install_plugin ;
> > select PLUGIN_NAME INTO @a from  information_schema.plugins where
> > PLUGIN_NAME=@plugin_name AND PLUGIN_STATUS='\''ACTIVE'\'' AND
> > PLUGIN_TYPE='\''AUTHENTICATION'\'' AND PLUGIN_LIBRARY LIKE
> > concat(@soname,'\''%'\''
> > ); DEALLOCATE PREPARE inst_plug; END// CALL
> > debian_plugin_install('\''unix_socket'\'', '\''auth_socket'\'') //
> > DROP PROCEDURE debian_plugin_install//'
> > + logger -p daemon.err -t mysqld_safe -i
> > + /usr/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables
> > --default-storage-engine=myisam --plugin-load-add=auth_socket
> > timo@debunstable:~$ echo $?
> > 1
> > timo@debunstable:~$ echo $?
> > 0
> >
> > This implies that the exit code from the line '/usr/sbin/mysqld
> > --bootstrap --user=mysql --skip-grant-tables
> > --default-storage-engine=myisam --plugin-load-add=auth_socket' is 1.
> >
> >
> > Any ideas why?
> >
> >
> > If you want to test it yourself, add to you apt sources the test repo
> >
> > deb http://labs.seravo.fi/~otto/mariadb-repo/ mariabd-10.0-sid-amd64/
> 
> 
> 
> --
> Check out our blog at http://seravo.fi/blog
> and follow @ottokekalainen
> 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2015-02-13 Thread Daniel Black


- Original Message -
> Sergei Golubchik  writes:
> 
> > > Make it print an error:
> > > "The table 'db.table' has deprecated columns types incompatible
> > > with Row-based replication."
> > > 
> > > (the same text with #b, but this time an error instead of a note).
> > > 
> > 
> > I leave it to Kristian...
> 
> First, note that this is not just --binlog-format=row, if I understand
> correctly. It also seems that --binlog-format=mixed could be affected, if
> some
> particular logging decides to use row-based for a query.

Yes. That was the case.

> But I think I need an explanation of the original problem to give an informed
> opinion.

MDEV-7268


> What happens if for example I take a mysqldump from a table with old DECIMAL
> and apply it on a new version server? Will it create a table with new
> DECIMAL?

It dumps out as DECIMAL and gets recreated as (NEW) Decimal. That's how I 
initialised the slave in question.

> Will this break row-based replication between the two servers?

Once it got to the situtation of using RBR.

> Or does the problem only happen if eg. replicating between different column
> definitions? Eg. if replicating from old DECIMAL(10,2) to new DECIMAL (20,4)?

Both definations are the same.

> In general, it seems that the first scenario would be pretty bad breakage,
> and something to avoid.
> 
> But having different table definitions on master and slave is a different
> matter, I think, if the user explicitly choose to do this. I would say this
> is not something that is officially supported, even if we sometimes try to 
> make
> it work. So not a top priority to fix. Though if the different definitions
> can somehow arise on its own, due to mysql_upgrade or the like, the matter is 
> of
> course more serious.

The show create table makes them look the same even though they aren't. 
mysql_upgrade doesn't do it and I'm in favour of a warning with and OK like 
previously suggested. I don't think mysql_upgrade is expected to do large alter 
table commands on anything other than system tables.

Alexander pointed me at few tips on displaying the differences.

> >> > d. Make the master running with --binlog-format=row refuse to do any
> >> > >  INSERT/UPDATE/ALTER or any other queries that can modify a table
> >> > >  with the old DECIMAL.
> >> 
> >> Note that currently such DECIMAL columns work just fine with RBR, so
> >> long as the master and slave have the same internal types. So
> >> completely disallowing DECIMAL with RBR seems like a breaking and
> >> unnecessary change to something which apparently works fine for the
> >> user already.
> >
> > Right. That's why I didn't particularly like that idea. Because quite
> > often old DECIMAL works just fine with RBR.
> 
> Right.
> 
> So what is the problem with this: on the slave, if we get a row event for an
> old DECIMAL column, assume it has the same definition (DECIMAL(M1,N1)) as the
> one in the slave table.

I'd be happy with this. Adding this functionality isn't going to cause a 
compatibility problem as its an improvement on the current break replication 
situtation.

> Document that replicating from old DECIMAL to new
> DECIMAL of different (M2,N2) type is not supported and can cause problems?

I'm happy with this.

> > On the other hand, the master cannot know whether tables on the slave
> > are compatible with old DECIMAL or not. And by the time the replicated
> > row events reach the slave it's too late to stop them - replication is
> > already broken.
> >
> > At the moment I, frankly, cannot think of any satisfactory solution for
> > this.
> 
> Well, what about introducing new row events? And these new row events contain
> the necessary information for the slave to handle matters correctly?
> 
> But, as from above, I'm not sure if that much effort is warranted.

If the new row event just adds the precision of the old decimal it does seem 
like a bit too much effort.

> Hope this helps,

Likewise.




-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MDEV-7362] ANALYZE TABLES crash with table-independent-statistics gathering

2015-01-16 Thread Daniel Black


- Original Message -
> Hi Daniel!
> 
> 
> > The test case should also look at the result of the:
> >
> > select * from mysql.index_stats where index_name='a' and table_name='t1';
> >
> Added in the test case.

Thanks

> Also, I got the explanation slightly wrong. It's
> not index_init that causes the problem, it's calling ha_index_first with a
> garbage buffer as a parameter that messes things up. The flags in table
> specifically say that (in that case) the table->record[0] is garbage, but
> we used it anyway.

Good to know there isn't a lower level lurking bug because of this. Thanks for 
the explanation.

> > > diff --git a/mysql-test/t/mdev-7362.test b/mysql-test/t/mdev-7362.test
> > > new file mode 100644
> > > index 000..6551893
> > > --- /dev/null
> > > +++ b/mysql-test/t/mdev-7362.test
> >
> > more recent test cases include the area of the test failure in the
> > filename or include the test with the general t/statistics.test
> >
> Hmm, I made a new file to test for this bug and named it
> statistics_index_crash.test. I don't think it fits going into the
> statistics.test.

Good description. like it.


> > Can you please add a test case for innodb too as it supports FT in 10.0.
> >
>  Done.

thanks


> >
> > If this is the fix the if..return can go much earlier in
> > collect_statistics_for_index, before Index_prefix_calc() even.
> >
> Done.

thanks

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [MDEV-7362] ANALYZE TABLES crash with table-independent-statistics gathering

2015-01-15 Thread Daniel Black


- Original Message -
> Hi Sergei!
> 

Hi Vicentiu,

Thanks for fixing my reported bug :-)

> I've implemented a fix for the bug described in MDEV-7362, that also fixes
> MDEV-7380. The test case also covers MDEV-7380. 

> I've spent a bit of time trying to figure out the architecture of things
> there. I am not confident my fix is complete, or if this is the way we want
> to go about fixing it. The fix does what we discussed over IRC, that we are
> not interested in computing statistics for a FULLTEXT index.

makes sense.

> What I think would be the root cause of the problem is calling
> ha_index_init() on an index that does not support this. By calling
> table->file->ha_index_init(), the table->field array gets corrupted and that
> ultimately leads to a crash in the function using it afterwards.

That sounds like another bug that need to be fixed in ha_maria::index_init /  
ha_myisam::index_init or the API is being used differently to usual.

> Then again, this module is completely new to me, so any comments are
> appreciated. Here is the diff of the first changes.

The test case should also look at the result of the:

select * from mysql.index_stats where index_name='a' and table_name='t1';

> diff --git a/mysql-test/t/mdev-7362.test b/mysql-test/t/mdev-7362.test
> new file mode 100644
> index 000..6551893
> --- /dev/null
> +++ b/mysql-test/t/mdev-7362.test

more recent test cases include the area of the test failure in the filename or 
include the test with the general t/statistics.test


> @@ -0,0 +1,14 @@
> +CREATE TABLE t1 (a longtext, FULLTEXT KEY (`a`)) ENGINE=MyISAM;
> +insert into t1 values
> (unhex('3E0D0A4141414142334E7A6143317963324541414141424977414141674541726D'));
> +analyze table t1 persistent for all;
> +drop table t1;
> +
> +CREATE TABLE t1 (a longtext, FULLTEXT KEY (`a`)) ENGINE=MyISAM;
> +insert into t1 values
> (unhex('3E0D0A4141414142334E7A6143317963324541414141424977414141674541'));
> +analyze table t1 persistent for all;
> +drop table t1;
> +
> +CREATE TABLE t1 (f longtext NOT NULL, FULLTEXT KEY f (f)) ENGINE=MyISAM;
> +INSERT INTO t1 VALUES (REPEAT('a',27)),('foo');
> +ANALYZE TABLE t1 PERSISTENT FOR ALL;
> +drop table t1;

Can you please add a test case for innodb too as it supports FT in 10.0.


> diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc
> index d368145..2c1cccf 100644
> --- a/sql/sql_statistics.cc
> +++ b/sql/sql_statistics.cc
> @@ -2367,6 +2367,9 @@ int collect_statistics_for_index(THD *thd, TABLE
> *table, uint index)
> DBUG_RETURN(rc);
> }
> + if (key_info->flags & HA_FULLTEXT) // skip if FULLTEXT index
> + DBUG_RETURN(rc);
> +

If this is the fix the if..return can go much earlier in 
collect_statistics_for_index, before Index_prefix_calc() even.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4398: MDEV-7368 : SLES: Failed to start mysql.service: Unit

2015-01-14 Thread Daniel Black

Hi Nirbhay!

- Original Message -
> Hi, Nirbhay!
> 
> On Dec 23, Nirbhay Choubey wrote:
> > At lp:~maria-captains/maria/5.5
> > 
> > 
> > revno: 4398
> > revision-id: nirb...@mariadb.com-20141224033207-8lh5i8d84qsjey79
> > parent: ele...@montyprogram.com-20141223172123-pkfhjnv7oy1suxpa
> > committer: Nirbhay Choubey 
> > branch nick: b7368-5.5
> > timestamp: Tue 2014-12-23 22:32:07 -0500
> > message:
> >   MDEV-7368 : SLES: Failed to start mysql.service: Unit
> >   mysql.service failed to load
> >   
> >   Added 'systemctl daemon-reload' command in postin and
> >   postun rpm scripts.
> 
> > === modified file 'support-files/rpm/server-postin.sh'
> > --- a/support-files/rpm/server-postin.sh2013-11-20 11:18:46 +
> > +++ b/support-files/rpm/server-postin.sh2014-12-24 03:32:07 +
> > @@ -1,6 +1,10 @@
> >  
> >  # Make MySQL start/shutdown automatically when the machine does it.
> >  if [ $1 = 1 ] ; then
> > +  if [ -x /usr/bin/systemctl ] ; then
> > +  /usr/bin/systemctl daemon-reload >/dev/null 2>&1
> > +  fi
> > +
> 
> looks ok


I'm assuming SLES follows the same rules as openSUSE

https://en.opensuse.org/openSUSE:Systemd_packaging_guidelines prescribes

%pre
%service_add_pre mysql.service

%post
%service_add_post mysql.service

%preun
%service_del_preun mysql.service

%postun
%service_del_postun mysql.service


I'd assume this handles any daemon reload as required otherwise something along 
those lines would of been mentioned.


Still a little confused as mysqld.service comes from as it doesn't appear to be 
./packaging/rpm-oel/mysqld.service

also https://mariadb.atlassian.net/browse/MDEV-5536 is there with a fair bit of 
systemd work (but not much in the way of rpm spec changes).



-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2014-12-23 Thread Daniel Black


- Original Message -
> Hi Kristian, Sergei.
> 
> 
> What about this plan:
> 
> 
> 1. In 10.0:
> 
> a. Make "ALTER TABLE t1 FORCE" fully rebuild the table
> and change old DECIMAL to new DECIMAL.

This and/or the d) alternative  should work.

> b. Keep "CHECK TABLE t1 FOR UPGRADE" to still return a line with
> Msg_type=status and Msg_text=OK, but also add new
> lines with Msg_type=note and Msg_text telling something like:
> "The table 'db.table' has deprecated columns types incompatible with
> Row-based replication."
> "REPAIR TABLE is recommended. Note, this can take some time.".

^ ALTER TABLE...

> c. mysql_upgrade will NOT upgrade tables with the old DECIMAL
> automatically, because they will still be reported as "OK".
> 
> But mysql_upgrade should detects and prints the new notes
> in the "CHECK TABLE t1 FOR UPGRADE" output.

works for me.

> d. Make the master running with --binlog-format=row refuse to do any
> INSERT/UPDATE/ALTER or any other queries that can modify a table
> with the old DECIMAL.

> Also, make "mysqld --binlog-format=row" disallow queries like:
> "CREATE TABLE t2 AS SELECT old_decimal FROM t1";

Alternately, is it possible use the new decimal in the created table, convert 
in the copy process and push the new decimal format into the RBR?

Is this the same code path as CREATE TABLE x LIKE y? And will this generate new 
decimal? I guess the precision reduction warning previous mentioned needs to 
come into play here.

Does new decimal replicate in rbr to old decimal tables ok?

> e. A SELECT from a table with the old DECIMAL should probably also
> print a warning, to give the user another chance to know about the
> problem.

If this is easy, sure. Can/should this go to the error log too? Might be easier 
to find.

> f. Make INFORMATION_SCHEMA.COLUMNS somehow print information about the
> deprecated data types (in DATA_TYPE or COLUMN_TYPE or
> COLUMN_COMMENT).

Running mysqlcheck --all-database --check-upgrade should expose these with c).

> 2. In 10.1
> Change "b" to return Msg_type=error and Mst_text=
> "Table upgrade required. Please do "REPAIR TABLE `tablename`" or
> dump/reload to fix it!"

REPAIR -> ALTER

> This will also force mysql_upgrade to rebuild tables with the old
> DECIMAL automatically.
> 
> 
> Looks like a lot of work...

Sorry. Such is the nature of inheriting technical debt.

Thanks for your detailed examination of this issue.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2014-12-22 Thread Daniel Black


- Original Message -
> Hi Daniel,
> 
> On 12/22/2014 03:30 PM, Daniel Black wrote:
> >
> >
> > - Original Message -
> >> Hi, Alexander!
> >>
> >> On Dec 22, Alexander Barkov wrote:
> >>> Hi Sergei, Kristian,
> >>>
> >>> I'm looking at:
> >>>
> >>> MDEV-7268 Column of table cannot be converted from type 'decimal(0,?)'
> >>> to type ' 'decimal(10,7)'
> >>>
> >>> This bug cannot be fixed in general case, because the old DECIMAL data
> >>> type does not write its metadata into the binary log.
> >>>
> >>> I suggest we don't fix replication of old DECIMAL
> >>> (neither binlogging, nor slave-side).
> >>
> >> I think that's reasonable. But then CHECK TABLE ... FOR UPGRADE
> >> should issue a warning for old DECIMAL columns.
> >
> > That would be nice. It took diffing a frm file to suspect it was really old
> > decimal.
> 
> Unfortunately there is no an easy way to find the old DECIMAL in
> all tables of a database.
> Perhaps INFORMATION_SCHEMA should provide a way to report the real
> underlying data type.

If its easy, I'm keen. I see anything that breaks because of this less 
important than not knowing that an old DECIMAL exists.


> To find the old DECIMAL in a single table, one can do the following:
> 
> 1. start mysql like this:
> 
> mysql --column-type-info dbname
> 
> 2. Run "SELECT * FROM t1"
> 
> 3. See the "Type" column in the metadata printed

Nice, thanks, I hadn't used that option before.

> ALTER..MODIFY goes through a different execution chain.
> 
> The parser returns the new data type when it sees the keyword
> "DECIMAL", while the table definition contains the old DECIMAL.
> So ALTER notices that the data types are actually different and
> recreates the table.

so ALTER TABLE can convert but RBR can't? Is this because of the lack of 
metadata?

> Right, with SBR it should work without problems.

Thanks for the confirmation and the other work you are putting into this issue.

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Row-based replication of old DECIMAL to new DECIMAL

2014-12-22 Thread Daniel Black


- Original Message -
> Hi, Alexander!
> 
> On Dec 22, Alexander Barkov wrote:
> > Hi Sergei, Kristian,
> > 
> > I'm looking at:
> > 
> > MDEV-7268 Column of table cannot be converted from type 'decimal(0,?)'
> > to type ' 'decimal(10,7)'
> > 
> > This bug cannot be fixed in general case, because the old DECIMAL data
> > type does not write its metadata into the binary log.
> > 
> > I suggest we don't fix replication of old DECIMAL
> > (neither binlogging, nor slave-side).
> 
> I think that's reasonable. But then CHECK TABLE ... FOR UPGRADE
> should issue a warning for old DECIMAL columns.

That would be nice. It took diffing a frm file to suspect it was really old 
decimal.

> > Instead, we fix "ALTER TABLE ... FORCE" (and thus mysql_upgrade)
> > to force changing old DECIMAL to new DECIMAL.
> > Currently, "ALTER TABLE...FORCE" preserve old DECIMAL.

If this could go in the release notes I'd really appreciate it. I'll try 
remember to write it there too.

A long running alter table on a production upgrade that won't show up on a test 
slave (if set up from mysqldump) is a rather ugly surprise.

> > Not sure which version is best to fix in.
> > The complainer had problems with 5.5.
> 
> I don't know, I'd say 10.0.

It was 5.5 as per the complaint.

> For the complainer there's a workaround - I'm sure you can come up with
> an ALTER TABLE that changes columns from old to new DECIMAL, may be
> something like ALTER TABLE xxx MODIFY COLUMN yyy DECIMAL()

Given ALTER TABLE ... FORCE didn't change it I'm not why this would. I can 
copy/paste a show create table however or use 
pt-online-schema-change/pt-archiver without replication with global 
binlog_format set to SBR in the mean time and hopefully that covers all the 
buggy edge cases that trigger rather abrupt production failures.


-- 
Daniel Black, Complainer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Report from Debian/Ubuntu MySQL packaging sprint in London in December

2014-12-21 Thread Daniel Black


Wow,

Great work Otto and everyone else who attended.

- Original Message -
> Hello!
> 
> I thought I'd brief the readers of this mailing list about the
> packaging sprint in London last week. It was organized by Canonical
> and in addition to Canonical staff and me there where also people from
> Oracle and Percona. We mostly worked on syncing the
> MySQL/MariaDB/Percona server packaging and a little bit also on
> creating a unified Galera package.
> 
> We made good progress and all results have been pushed to public
> repos. I also recently updated the pages
> https://wiki.debian.org/Teams/MySQL/MariaDB and
> https://wiki.debian.org/Teams/MySQL/Galera to reflect the current
> status.
> 
> One big technical change that was discussed and planned is the
> decoupling of the config and data directories. The plan is that in the
> future no MySQL variant in particular would anymore own the
> /etc/mysql/my.cnf file

Is this file still going to exist? Client programs like percona-toolkit and 
others will look for it.

I imagine the client section of [mysqldump] [mysql] [myisamchk] would all be 
provided by the relevant client package too.

> but instead each variant would register their
> own config file at installation time by using the Debian
> update-alternatives mechanism. So in future there would be
> /etc/mysql/mariadb.conf, mysql.conf, percona.conf etc and some more
> snippets in /etc/mysql/mariadb.conf.d/.. etc.

Good. Are you making use of product sections like [mariadb] [mariadb-5.5] 
[galera]  ([percona]?) ?

Good to see using the plugin auth_socket for debsysmaint or root user in lieu 
of a password on filesystem?

Good to see UTF as a default (in https://wiki.debian.org/Teams/MySQL/MariaDB).

> The plan is not complete nor tested, but there are preliminary changes
> in the mysql-common package to provide the config file registration
> hook and in a preliminary Percona Debian package to use the new config
> file registration facility.
> 
> As the config file defines the data directory, successful decoupling
> of config files would make it easy to also decouple the data
> directories so that if the user installs/removes/upgrades any of the
> MySQL variants they would not mess up their data accidentally and the
> installation scripts would help users to dump/migrate/copy/move their
> data in the common scenarios.

nice!

-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Review of Debian packaging file listing?

2014-12-21 Thread Daniel Black




- Original Message -
> Hello!
> 
> I recently updated my build scripts to automatically generate a file
> listing for each commit in in the Debian packaging "pool" I have.
> 
> Here is a recent one:
> http://labs.seravo.fi/~otto/mariadb-repo/mariadb-10.0-sid-amd64/filelist-ec07593.log
> 
> It is now very easy to review and track what files are in what package.

Is this still the plan? https://wiki.debian.org/Teams/MySQL/WhichPackage

> Could somebody please quickly review that file and tell me if you spot:
> - any files in wrong package and should be moved?

mariadb-client-10.0 has mysqldumpslow and its manpage along with a lot of other 
execs scheduled for mysql-server-utils

Didn't check the rest of the WhichPackage plan since it didn't seem to be done.

> - any package that has too few files and maybe something missing?

libmariadbd-dev

doesn't seem to contain any .h files or mariadb_config/mysql_config

mariadb-test-10.0

lrwxrwxrwx root/root ./usr/share/mysql/mysql-test/mysql-test-run
lrwxrwxrwx root/root ./usr/share/mysql/mysql-test/mtr

Not sure why these aren't in /usr/bin

> - any file attributes that might be wrong or insecure?

Not that I could see.

> - should any of the MariaDB plugins deserve to be shipped as a
> separate package? (apart from current connect and oqgraph)

I'd see a need to split them when extra dependencies creep in to the plugin.


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] More suggestions for changing option names for optimistic parallel replication

2014-12-17 Thread Daniel Black


- Original Message -
> Pavel Ivanov  writes:
> 
> > So the slave coordinator (or I don't remember how you call it) reads
> > relay log ahead of the last executing transaction? I.e. it will read
> > and assign to threads T1.1, T1.2, then it will read T1.3, detect that
> > there are no threads available for execution, but according to what
> > you said it will still put this in the queue for thread 1, right? How
> > long this queuing can be?

> Does it keep all queued events in memory?
> > Does it depend on the size of the transactions (i.e. how much memory
> > can it consume by this queuing)?
> 
> Right. The queueing is limited by the configuration variable
> --slave-parallel-max-queued, which defaults to 128KB per worker thread. It
> does not depend on the size of the transactions (it is possible to replicate
> a
> large transaction without keeping all of it in memory at once). It does need
> to keep at least one event in-memory per worker thread, of course, even if an
> individual event exceeds --slave-parallel-max-queued.


https://mariadb.atlassian.net/browse/MDEV-7202 for patch to add a status 
variable




> > Then I'd suggest to not add any special processing of such use case,
> > but add something that will allow to easily monitor what happens. E.g.
> > some status variables which could be plotted over time and show (or at
> > least hint on) whether this is significant bottleneck for performance
> > or not. This could be something like total time (in both wall time and
> > accumulated CPU time) spent executing transactions in parallel, time
> > spent rolling back transactions due to this lock conflict, time spent
> > rolling back transactions because of other reasons (e.g. due to STOP
> > SLAVE or reconnect after master crash), maybe also time spent waiting
> > in one parallel thread while transaction is executing in another
> > thread, etc.
> 

added https://mariadb.atlassian.net/browse/MDEV-7340 quoting this

> Yes, I agree, we need more of this. I think the monitoring part of the
> feature
> is currently rather weak, it probably suffers from it being now a long time
> since I was doing operations. Hopefully this can be significantly improved in
> the near future.
> 
> I wonder if such accumulated-time measurements can be added liberally without
> significantly affecting performance?

If each thread accumulate its own and if there needs to be a global it can be 
done like the global collation in the MDEV-7202 patch.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Invisible Indexes and .frm Change?

2014-12-16 Thread Daniel Black


- Original Message -
> Hi list.
> 
> I'm looking into adding invisible indexes.
> 
> There's 3 "scopes" I've thought of:
> 
> 1) global and persistent (create table, alter table, create index)
> 2) global temporary (alter table t1 change index invisible global)
> 3) session temporary ( alter table t1 change index invisible session)
> 
> #1 likely means changing the .frm format, which would cause backward
> compatibility issues.
> 
> Are there any upcoming changes to .frm planned?

> Any comments or suggestions?


How/why are invisible indexes useful?

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Google's patches to MariaDB are available in the opensource repo

2014-12-02 Thread Daniel Black


- Original Message -
> Hi all,
> 
> Effective immediately the full opensource tree of changes made to
> MariaDB by Google to make it work for our internal applications is
> available at https://code.google.com/p/google-mysql/.


Thanks for the work in getting this released and all the patches and bug 
reports I've seen credited to you.


-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] doubt about read uncommited

2014-11-24 Thread Daniel Black


- Original Message -
> hi Daniel
> 
> the problems:
> 
> 1) i have a application/database design problem, i don't have access to
> source code, the application is running in a server, and database at other,
> i have only access to database
> 2) at database the problem is with myisam locking contention when running
> slow updated and selects, update get a write lock and select wait it, no
> problems with insert (yet), no deletes in this table (yet)

have you used explain {query} on all of these to verify if there is an missing 
index problem?

> i tried to partition this table, but this don't reduce the write lock time,
> the where part of update normally get rows from all partitions

Don't consider partitioning yet. It probably won't help.

> 3) users report long times waiting data (this happen with long updates, i
> confirm this with slow query log and processlist)
> 
> 
> what i'm thinking as possible solutions, but i don't know if it's really
> possible, or how complex it is
> 
> 0) leave developer solve the problem rewriting code
> the 'best' one, but i need to contact he, i'm not finding he, trying to
> call, sending email and nothing...

When you have indexes that need adding feed this back. When you see bad queries 
feed those back with details and a substitute query that does the same thing.


> 1) convert myisam to innodb and check what happen
> i'm creating another server to reproduce the load, this take sometime
> (>100gb myisam tables)  it's executing from the first email
> i will execute some logged queries to reproduce load, and check what
> problems i will have
> at query log there're queries without "where" part (possible slow queries
> to innodb) and queries using count/min/max without "where" too.

Don't remove the where part. It changes the query significantly and you don't 
have a comparison point. If your app doesn't do the queries without the wheres 
then why are you?

If you get two servers replicating of each other. Have one server with myisam 
tables, another with innodb and at some point switch the application to a 
different server making sure replication has caught up before writes are 
enabled.

Make sure the innodb server is tuned for innodb with decent buffer pool size 
etc.

Use mariadb-10 on both. log_slow_verbosity=query_plan,explain (on both) will 
help a lot. mysqldumpslow to assist in summarising all similar queries.

Compare the results of the slow query log on a query by query basis.

See if the problem is the query, the indexes or indeed the engine.

Work out what's better overall by fixing indexes, suggesting query fixes to the 
developer and if something is really bad and shouldn't be give devs here 
details.

> 3) try other non standard mariadb engine?

You could try tokudb the same way.
 
> 4) use faster storage to reduce write/read time, reducing lock time
> i think that's not a good solution, but the last one i have, with a high
> cost

Lock time isn't related to storage. After fixing queries and indexes you still 
might have a slow hardware problem.

Sometimes good solutions aren't free.

> do you see any other solution to this problems? any other experience like
> this?

Get details to identify the cause of the problems.

New Relic can help breakdown web requests and information as to which DB 
queries occur in them. Might still be useful with closed source applications.

> sorry i was reading the 'to' part of email, i selected the maria-developers
> instead maria-discuss

yes.


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] doubt about read uncommited

2014-11-24 Thread Daniel Black


- Original Message -
> hi Daniel!
> 
> 2014-11-25 1:03 GMT-02:00 Daniel Black :
> 
> >
> >
> > - Original Message -
> > > hi guys, i use read uncommited sometimes with innodb, that's nice and
> > work
> >
> > too scared to ask why. Its nice until the one day it shoots you.
> >
> no problem, i use with data that don't need fully consistency
> but this problem isn't my design, that's why i'm searching some solution
> 
> just some points to avoid thinking that i'm a newbie trying to use myisam
> as innodb cause it have better count(*) speed than innodb or anything like
> it...

You define a solution with so man doubts and questions rather than describing a 
problem. This will always make you look like a newbie.

> i like the innodb and myisam when right used, and yes innodb can do this
> job with transactions, i know isolation level "read uncommited" is for some
> transactional engine and not all engine can use it, that's engine specific
> i don't remember what engine don't allow this, but i read something about it

SQL spec - DB implementations can escalate the isolation level if they so 
choose.


> myisam and aria don't execute as transactional engine, they have a non
> transacitonal model, ok i know this, i'm testing what it can really do
> 
> i know that's something that maybe the solution don't exists today with
> standard mysql/mariadb engines
> maybe there's another engine "plug and play", i only don't know what engine
> and how complex is implement this if no one solve, yes i don't know how
> complex is change this applicatoin since i don't have the source code... i
> will execute query rewrite
> 
> forgetting the "solution" of 'use innodb instead of myisam'... (that's
> valid solution)
> there's space to implement some new feature to aria/myisam? i think aria is
> better in this case cause it have jornalling, or maybe any other solution?

a solution to what? you haven't defined the problem.

> the table don't have many update/delete and writes are concurrent inserts,
> it's like a historical table
> i don't have access to source code of application sending the queries, i
> will implement something between client and mariadb to rewrite the queries,
> i know exactly what query must execute in this kind of "feature" since app
> send comments telling what 'module' is executing the query, something like
> "/* module=1242 */ SELECT "

So you want MariaDB devs to rewrite the database because you cant' improve the 
application?



> > > but now, i'm using a myisam table, and a aria table
> > > does read uncommited work with this kind of engine?
> >
> > There is never any uncommitted as a table lock is held when writing
> > occurs. Reads wait until that finishes.
> >
> 
> nice, confirmed with you too :)
> that was a doubt, since transactional level is realated to transactional
> engine

This of it as always transactional isolation level with no rollback or 
transactions.

>, i never tested if it could change something of non trasactional
> engines, a idiot doubt i know... but only testing to really know 100% if
> this change something, reading the docs or reading the myisam/aria source
> code, the easier method was testing... =]
> that's probably expected
> 
> from what i know about myisam/aria, a table write lock block the table read
> lock (i can check this with meta data lock plugin), and read only execute
> after release of write lock, some writes can execute "without" "big" locks,
> like concurrent inserts, right?
> 
> but instead of a read lock waiting write locks, i'm thinking about a one
> new "level of lock" inside myisam (or aria), i don't know how to name this
> "level of lock" using the myisam/aria words, with transactional engines
> that's a transactional isolation level
> no problem of slowing down the update query or the select query or the
> whole table read/write, and no problem about reading garbage (uncommited
> data) by select (that's expected to result "old" data)
> 
> i don't know 100% how write works with myisam/aria, but at a high level i
> think the only problem is reading one row while write is being executed,
> probably this need a row level locking or a 'range level lock' or a jornal
> method (like aria), but i'm thinking if some kind of non transactional
> model could be used to read uncommited data, i will try to run 2 or more
> mysqld with same mysql table and check if any problem occ

Re: [Maria-developers] doubt about read uncommited

2014-11-24 Thread Daniel Black


- Original Message -
> hi guys, i use read uncommited sometimes with innodb, that's nice and work

too scared to ask why. Its nice until the one day it shoots you.

> but now, i'm using a myisam table, and a aria table
> does read uncommited work with this kind of engine?

There is never any uncommitted as a table lock is held when writing occurs. 
Reads wait until that finishes.

> i tested and table stay
> 'waiting table lock' while a long update occurs

Right (+write) - as above.

> i don't know what's the internal diference but is possible to "easily"
> implement read uncommited to myisam/aria?

It is possible to change to easily change to innodb, an actually transactional 
storage engine, for the transaction features you want to use?


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4376: MDEV-6676: Speculative parallel replication in http://bazaar.launchpad.net/~maria-captains/maria/10.0

2014-09-11 Thread Daniel Black


- Original Message -
> Robert Hodges  writes:
> 
> > What would be cool is something like a group transaction that other threads
> > can join so that the commit becomes atomic. Most of the parallel load use
> > cases I can think of don't require you to coordinate things like isolation
> > because they are conflict free anyway--it's just atomic group commit.
> 
> Hm, I don't quite have this.
> 
> Given T1 and T2, there is a facility to ensure that T2 will commit no sooner
> than T1. But there is no facility to prevent T1 from commiting before T2.
> 
> (This is what was needed for parallel replication).

How does Galera handle this in its parallel apply threads? 

Especially the case below marked on MDEV-6676 
T1: DELETE FROM t1 WHERE a=1
T2: INSERT INTO t1 SET a=1


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4376: MDEV-6676: Speculative parallel replication in http://bazaar.launchpad.net/~maria-captains/maria/10.0

2014-09-11 Thread Daniel Black

Perhaps slightly more useful would be a SET SESSION 
inherit_transaction=

Use cases:

* Multi threaded backup on mysqldump --single-transaction with each thread 
fetching a table
* An application that wants do a number of read/write queries in parallel all 
isolation level.

A commit or rollback will apply to all transactions.


- Original Message -
> Robert Hodges  writes:
> 
> > Thanks Kristian. That's a nice optimization that is difficult to do outside
> > the DBMS engine.
> 
> Indeed. We might be able to expose it to you, though. Like SET SESSION
> wait_for_other_commit=, or something.
> 
>  - Kristian.
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp
> 

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] Extendet FederatedX storage engine to support updating Sphinx RT indexes

2014-06-11 Thread Daniel Black
ame here, sphinxql shouldn't add implicit limit.
> >>>
> >>> SphinxQL by default adds a limit to 30 rows. So if you don't
> >>> specify a
> >>> LIMIT you only get 30 rows back instead of all rows. If you for
> >>> example
> >>> have 100 rows in your Sphinx index, and you want to delete all
> >>> rows, you
> >>> could only delete 30 at once. So i thought the best way is to add
> >>> a limit.
> >>>
> >>>> 6. test_connection(): What's the problem with test query?
> >>>
> >>> Sphinx simply doesn't understand the test query:
> >>>
> >>> SELECT * FROM  WHERE 1=0
> >>>
> >>> so i changed it into
> >>>
> >>> SELECT * FROM  LIMIT 0
> >>>
> >>> which should do the same, and Sphinx did understand.
> >>>
> >>>> Did I miss anything else?
> >>>
> >>> If so, please feel free to contact me.
> >>>
> >>>
> >>> Best regards,
> >>>
> >>>
> >>> Markus Lidel
> >>>
> >>>
> >>>>
> >>>> Thanks,
> >>>> Sergey
> >>>>
> >>>> 29.05.2013, в 1:46, Markus Lidel 
> >>>> написал(а):
> >>>>
> >>>>> Hello,
> >>>>>
> >>>>> the Sphinx Search engine has RT indexes, which could be updated
> >>>>> with
> >>>>> a subset of SQL commands, refered to as SphinxQL:
> >>>>>
> >>>>> http://sphinxsearch.com/docs/2.1.1/sphinxql-reference.html
> >>>>>
> >>>>> Because the FederatedX storage engine uses some commands, which
> >>>>> Sphinx does not know, here is a patch, wich extends the
> >>>>> FederatedX
> >>>>> storage engine to support this subset of commands. Now its
> >>>>> possible
> >>>>> to update Sphinx RT indexes directly from MariaDB. To create a
> >>>>> connection to the RT index in the Sphinx default RT-index:
> >>>>>
> >>>>> index rt
> >>>>> {
> >>>>>   type = rt
> >>>>>
> >>>>>   path = @CONFDIR@/data/rt
> >>>>>
> >>>>>   rt_field = title
> >>>>>   rt_field = content
> >>>>>
> >>>>>   rt_attr_string = title
> >>>>>   rt_attr_string = content
> >>>>>
> >>>>>   rt_attr_uint = gid
> >>>>> }
> >>>>>
> >>>>> you just have to call:
> >>>>>
> >>>>> CREATE TABLE `rt` (
> >>>>>   `id` BIGINT UNSIGNED NOT NULL,
> >>>>>   `title` TEXT,
> >>>>>   `content` TEXT,
> >>>>>   `gid` INT UNSIGNED
> >>>>> ) ENGINE=FEDERATED
> >>>>> CONNECTION='sphinxql://root@localhost:9306/rt';
> >>>>>
> >>>>> It would be great, if the attached patch could be integrated
> >>>>> into
> >>>>> MariaDB. If you have any suggestions, please feel free to
> >>>>> contact me.
> >>>>>
> >>>>> Best regards,
> >>>>>
> >>>>>
> >>>>> Markus Lidel
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help : https://help.launchpad.net/ListHelp

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


[Maria-developers] tokudb database - generated "should never happen" status when mysql log partition ENOSP

2014-05-14 Thread Daniel Black
  |
| TokuDB | context: tree traversals blocked by a partial eviction   
   | 0 |
| TokuDB | context: tree traversals blocked by a message injection  
   | 0 |
| TokuDB | context: tree traversals blocked by a message application
   | 0 |
| TokuDB | context: tree traversals blocked by a flush  
   | 0 |
| TokuDB | context: tree traversals blocked by a the cleaner thread 
   | 0 |
| TokuDB | context: tree traversals blocked by something uninstrumented 
   | 0 |
| TokuDB | context: promotion blocked by a full fetch (should never happen) 
   | 0 |
| TokuDB | context: promotion blocked by a partial fetch (should never happen)  
   | 0 |
| TokuDB | context: promotion blocked by a full eviction (should never happen)  
   | 0 |
| TokuDB | context: promotion blocked by a partial eviction (should never 
happen)  | 4 |
| TokuDB | context: promotion blocked by a message injection
   | 1067  |
| TokuDB | context: promotion blocked by a message application  
   | 0 |
| TokuDB | context: promotion blocked by a flush
   | 0 |
| TokuDB | context: promotion blocked by the cleaner thread 
   | 121   |
| TokuDB | context: promotion blocked by something uninstrumented   
   | 0 |
| TokuDB | context: something uninstrumented blocked by something 
uninstrumented   | 0 |
| TokuDB | handlerton: primary key bytes inserted       
   | 26774483883   |


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] MariaDB 5.5.37 release prep

2014-04-16 Thread Daniel Black

Hey Daniel,

Thanks for getting this started.

Release notes:

> XtraDB updated to the version from percona-server-5.5.36-34.0
> TokuDB updated to version 7.1.5

upgraded from what? What was the previous version? Is there a link of readable 
changes (not code diffs) that occurred for this? Even including major additions 
and fixes here as sub-points would be good too as there are core and important 
parts of MariaDB.

The change log mentions several assertion fixes, memory leaks, and potentially 
wrong results that should be in the release notes. It should also include major 
features and improvements, like the audit plugin that you've done, and improved 
performance in queries.

I think there should be a separate section dealing with packaging errors broken 
up by platform.

Also change log entries like Revision #4110.1.1 and others mentioning the 
internal functions of mysql not working in a particular way give really no clue 
as to the impact is for those not familiar with the code base. Trees of merges 
in changelog don't actually mean anything substantial to me. Is the audience of 
the change log the developers that have done the work? or some wider user base 
of mysql users? If so its not there yet.

- Original Message -
> All,
> 
> I've begun release prep for MariaDB 5.5.37.
> 
> Draft changelog and release notes are at:
> - https://mariadb.com/kb/en/mariadb-5537-release-notes/
> - https://mariadb.com/kb/en/mariadb-5537-changelog/
> 
> Please let me know ASAP of any notable things that should be mentioned
> in the release notes.
> 
> Thanks!
> 
> --
> Daniel Bartholomew, MariaDB Release Manager
> MariaDB | http://mariadb.com
> 
> ___
> Mailing list: https://launchpad.net/~maria-developers
> Post to : maria-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~maria-developers
> More help : https://help.launchpad.net/ListHelp

-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com.au)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] release day of week for security releases

2012-12-06 Thread Daniel Black
Sergei,

Thanks for the detailed situation report. I appreciate your preferences are the 
same as mine. I sympathise with being caught in the bind and needing to 
compromise on release timings. I would of done the same thing.

Glad so see things improving as they always are.

Perhaps reviewing having publicly available crash reports? The coincidence of 
timing seems a little close. Its a tough choice and I see you've got other 
urgent stuff to do so please don't let me keep you waiting.

Thanks for the explanation and releases.

- Original Message -
From: "Sergei Golubchik" 
To: "Daniel Black" 
Cc: maria-developers@lists.launchpad.net
Sent: Friday, 7 December, 2012 9:35:44 AM
Subject: Re: [Maria-developers] release day of week for security releases

Hi, Daniel!

On Dec 02, Daniel Black wrote:
> Thanks for the latest releases with security fixes.
> 
> While I appreciate that all of the development of these security fixes
> was in public (without mentioning it was a security fix - well at
> least the remote code exec), I'm wondering if security releases could
> occur on a weekday where sysadmins need not forsake part of their
> weekend to correct a public vulnerability. Just my thoughts and
> preferences. I appreciate others may consider things different.

Yes, I agree. And I'm sorry for this.

The release was delayed, because it was our first "a" release (with a
letter in the version), and neither packaging nor publishing system
wasn't quite ready for that. Normally we try to release early in the
week.

On the other hand, after we released fixed binaries, there was a public
disclosure of this vulnerability on the various security mailing lists,
accompanied with an exploit. Apparently, it was found independently,
and almost at the same time. Had we waited with our release till Monday,
our users wouldn't have a fixed version, when the exploit went public.

> It also appears that the fedora 17 mariadb galera updates are only
> partially pushed. Maybe its just my setup after switching from
> non-galera repo.

Probably, yes. Next week we're going to do the next MariaDB-Galera
release, and then we remove "galera repo". We will have one repository
both with galera and non-galera packages.

Regards,
Sergei


-- 
-- 
Daniel Black, Engineer @ Open Query (http://openquery.com)
Remote expertise & maintenance for MySQL/MariaDB server environments.

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


  1   2   >