[MDEV-7094] connect_work_size is not set properly Created: 2014-11-12 Updated: 2015-02-05 Resolved: 2015-01-27 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - Connect |
| Affects Version/s: | 10.0 |
| Fix Version/s: | 10.0.16 |
| Type: | Bug | Priority: | Major |
| Reporter: | Takuya Aoki (Inactive) | Assignee: | Olivier Bertrand |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | connect-engine, connect.cnf, connect_work_size | ||
| Environment: |
CentOS release 6.5 (X86_64), unixODBC2.2.14(x86_64), Microsoft ODBC Driver 11 for SQL Server |
||
| Issue Links: |
|
||||||||||||
| Description |
|
When I set the connect_work_size in /etc/my.cnf.d/connect.cnf When I write inside /etc/my.cnf.d/connect.cnf below,
I get in Maria,
When inserting into a connect table (SQLServer2005 table on another server),
The size used+free is 64M, whcih is the default connect_work_size. When I set in Maria using the command,
the error changes to a correct one as below.
|
| Comments |
| Comment by Elena Stepanova [ 2014-11-12 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
As I understand, it's an absolute repetition of This time, I'll keep this one. I can easily reproduce it. The cnf file is not important, you can just as well set the option on the command line. First, I've made the trace printing unconditional, like this:
Then I ran the server like this, with the non-default connect_work_size and with connect_xtrace:
Then I connected to the server and created a simple Connect table:
And here is what the trace told me:
Note that both the additional output and Memory of ... allocated indicate 67108864. Then I ran
And got this:
Note that now both the additional and the standard printing show 536870912. Now, I'm not familiar with the code to debug it further, but I read in | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Takuya Aoki (Inactive) [ 2014-11-13 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
It wasn't a good idea to make a report again, but this is a crucial problem so I am asking fo further consideration. Anyway, thank you for reproducing the bug. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-11-13 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
It was a part addressed to Olivier – I meant that he analyzed it before. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Takuya Aoki (Inactive) [ 2014-11-13 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Elena Stepanova, I understand now, Thank you. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Olivier Bertrand [ 2014-11-13 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I found why this happened. BTW it should also happen when the size is given as a command line option when starting the server. It is both a CONNECT bug The issue is that this "update" function is called when using the SET command but is not called to set the initial value coming from the cnf file or the command line. Therefore the system variable had the good value but the internal variable was not set. I shall fix this by using the work_size global variable directly instead of setting another variable, which in fact simplifies the job as the use of that "update" function will no longer be required. However, I still regard this as a MariaDB issue (bug?) "update" and "check" functions are there to check the values given to system variables and this should also apply to values given va the cnf file and/or command line options. These functions should be called in that case. It would also enables things such as giving the work size as 512M in the SET command. The variable would be declared as "string" insread of "integer" and in the "update" function it would be possible to change the representation to an integer, the same that is done when analysing the values given in cnf file. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-11-13 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Could you please file a separate bug for the flaw that you found in MariaDB variable handling? Thanks. And yes, as I said in an above comment, it does happen when the option is given on the command line. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Takuya Aoki (Inactive) [ 2015-02-05 ] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Was this bug fixed in version 10.0.16? |