November 2007 Archives

Sat Nov 17 18:32:45 CET 2007

MySQL, InnoDB and replications

I had a lot of fun yesterday. I wanted to optimize the InnoDB storage in one of my projects. I realized that the innodb_data_file_path MySQL parameter doesn't allow you to specify the very simple case: whenever you need a new innodb datafile, add it, but limit its size to e.g. 1GB. The only method to do so is to periodically monitor the file size of the last (autoextending) data file. Another method is to pre-define several 1GB files and keep the last one as e.g. 10MB and autoextending and monitor its size. It would be nice to have this possibility.

But that was not fun. The real fun was when I realised that the described method to start replication with empty master and slave can't work as described, because the databases test and test_% are special in mysql database. This caused me two hours of debugging to realize that the bug is in the manual describing something that can't work by design ;-) But when I realized it, the complete process took me 5 minutes.

Posted by Pavel | Permanent link | File under: Work

Sat Nov 17 18:07:53 CET 2007

SRC680_m237: openssl, The Nightmare

My builds of SRC680_m237 are uploaded. Almost all of them. Windows is still missing. This milestone will stay long in our memories as "The openssl" milestone.

It all started when the milestone was pre-tagged. Ruediger told me he had an issue on unxmacxi with openssl (system openssl have to be used there). My Linux build failed because the module openssl was not built at all. I was not aware of it ;-) To make it short: I filed issue #i83647# and later also #i83687#.

Current list of openssl issues in
  1. gcc is used even if my CC is set to ccache gcc. We can't use ccache.
  2. even if your build is done with -P8, openssl is built only using single process
  3. on Windows/cygwin, gcc is used instead of cl.exe
  4. there are two openssl libs in download directory, but only one is used. (The old one is supposed to be used on Solaris or something similar, but there is a system one available.)
  5. configure does't define build type OPENSSL
  6. system-openssl is needed
  7. static libs of openssl are delivered.
  8. on Mac OS X, .dylibs are not delivered
If you have some other issue, please do not forget to report it.

I think the main problem here was that we are close to the feature freeze and developers were hurrying to make the feature in. I expect that the fixing of these issues will take from half to one week :-(

The next time someone wants to introduce some new library into the source tree, he will be under my sharp eye before his code can slowdown other teams (e.g. Mac OS X port) ;-) Please take care and do not hesitate to ask for early review.

Posted by Pavel | Permanent link | File under:

Tue Nov 6 13:34:17 CET 2007

Legal stupidity...

I had to solve interesting task today. Instead of it, I was fighting with the legal stupidity.

I have received signed PDF file, generated PostScript from it using Adobe Reader 8 and then tried to open that file on GNU/Linux with gv. OK. Then I tried to open it in Preview. It told me that it has to convert it back to PDF. OK. But then it has shown an error message. No more info in UI. Thus I have started Console and have seen this message:

Removing the following XXXX lines is illegal, subject to the Digital Copyright Act of 1998.

OMG. The source PostScript file contains some executable dictionary and the comment above it says: "%% Removing the following eleven lines is illegal, subject to the Digital Copyright Act of 1998."

Are lawyers so stupid or what? Nevermind, I had to finish my task, thus I kept lines there. All eleven. Because removing them is illegal. Because of some act from some year. Baaah, all lines commented now. Sue me that I *added* eleven percent signs to the file I generated on my machines. Stupid legal stuff preventing users using their equipment, files.

Posted by Pavel | Permanent link | File under: Work