Re: [Maria-developers] [Commits] Rev 3353: Performed re-factoring and re-structuring of the code for mwl#248: in file:///home/igor/maria/maria-5.5-mwl248-changes/
Hi, Davi! On Jul 31, Davi Arnaut wrote:
Also, I would like to point out that my main argument a few e-mails ago is that you cannot memset/bzero a non-POD type in C++ without occurring in undefined/implementation-defined behavior, which was ignored. This significantly lowers my confidence in MariaDB being a high quality code base (save for some developers who tend to get it).
:) After your first email I've checked that code. Perhaps I've missed something, but it did look like all bzero-ed structures in the igor's patch were of POD types. Regards, Sergei
Hello maria db devs: First, I think you guys totally ROCK. Thank you Michael Widenius and the open source aria engine. I was looking at sql_update.cc, sql_insert.cc, sql_delete.cc so I could insert a hook to feed an external replication engines by choosing the update, delete, insert AFTER trigger points to insert logic that is db scope and not table scope. I am testing the idea on 5.5.25 sources and will send a patch in when I can get my bearings on the source code. Some probably stupid questions: 1) Does InnoDB and Aria transaction support having anything to do with the binary log? Or do transactions in innodb and aria get stored into different files than the binary log? 2) Where are the the system command "SET" implemented? Where is the definition/ of commands like "SHOW variables LIKE H%" implemented? 3) I am going to open source this external replication hook, how do I send something to you so that you can add a #ifdef WITH_EXTERNAL_REPLICATION into the sources so that it would appear in 5.5.26 or 5.5.27? Thanks, marco
Hi, md! On Aug 27, md@rpzdesign.com wrote:
I was looking at sql_update.cc, sql_insert.cc, sql_delete.cc so I could insert a hook to feed an external replication engines by choosing the update, delete, insert AFTER trigger points to insert logic that is db scope and not table scope.
I am testing the idea on 5.5.25 sources and will send a patch in when I can get my bearings on the source code.
Some probably stupid questions:
1)
Does InnoDB and Aria transaction support having anything to do with the binary log? Or do transactions in innodb and aria get stored into different files than the binary log?
InnoDB and Aria have their own logs. And *additionaly* transactions get stored in the binary log, in a storage engine independent way.
2)
Where are the the system command "SET" implemented?
mainly set_var.cc and sys_vars.h What are you trying to do?
Where is the definition/ of commands like "SHOW variables LIKE H%" implemented?
sql_show.cc
3)
I am going to open source this external replication hook, how do I send something to you so that you can add a #ifdef WITH_EXTERNAL_REPLICATION into the sources so that it would appear in 5.5.26 or 5.5.27?
You can post it to this list. Or submit a merge request on launchpad. But firts, please, try to explain what are you trying to achieve with your patch. Regards, Sergei
Sergei: Thanks for the answers. Instead of having a DEBATE among Maria developers exactly how replication should work, there should be an option to fully externalize replication to another process and put all replication logic there to handle fault tolerance and scaling. The various Maria replication options out there require too much human involvement and do not really address a wide variety of needs. Then when someone wants to reduce the human involvement (For example, CHANGE MASTER TO....during failover), they are faced with writing monitoring programs and other code just to complement the internal replication processing. The included MASTER-SLAVE replication included in Maria is an operational nightmare. Any little problem and replication STOPS, it is just too finicky to be of use on a larger scale. And requires too much vigilance by human beings to keep going. It is NOT ELASTIC. I want the choice of giving up some rigid processing criterion for the sake of elasticity and intelligence. So I am looking at putting a replication externalization hook that is managed OUTSIDE of MariaDB but can FEEDBACK intelligence into MariaDB if needed. The hook will NOT be targeted at synchronous replication. That should be left to other replication devices or maybe a future development. I just want to make the leap to intelligent, un-supervised async replication first. md On 8/28/2012 9:11 AM, Sergei Golubchik wrote:
Hi, md!
On Aug 27, md@rpzdesign.com wrote:
I was looking at sql_update.cc, sql_insert.cc, sql_delete.cc so I could insert a hook to feed an external replication engines by choosing the update, delete, insert AFTER trigger points to insert logic that is db scope and not table scope.
I am testing the idea on 5.5.25 sources and will send a patch in when I can get my bearings on the source code.
Some probably stupid questions:
1)
Does InnoDB and Aria transaction support having anything to do with the binary log? Or do transactions in innodb and aria get stored into different files than the binary log? InnoDB and Aria have their own logs. And *additionaly* transactions get stored in the binary log, in a storage engine independent way.
2)
Where are the the system command "SET" implemented? mainly set_var.cc and sys_vars.h
What are you trying to do?
Where is the definition/ of commands like "SHOW variables LIKE H%" implemented? sql_show.cc
3)
I am going to open source this external replication hook, how do I send something to you so that you can add a #ifdef WITH_EXTERNAL_REPLICATION into the sources so that it would appear in 5.5.26 or 5.5.27? You can post it to this list. Or submit a merge request on launchpad.
But firts, please, try to explain what are you trying to achieve with your patch.
Regards, Sergei
participants (2)
-
md@rpzdesign.com
-
Sergei Golubchik