Bug #46385 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted t
Submitted: 25 Jul 2009 18:29 Modified: 11 Aug 2009 23:24
Reporter: Zbigniew Luszpinski Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.0.84 OS:Linux
Assigned to: Davi Arnaut CPU Architecture:Any
Triage: Triaged: D3 (Medium) / R1 (None/Negligible) / E1 (None/Negligible)

[25 Jul 2009 18:29] Zbigniew Luszpinski
Description:
There is problem with mysql-5.0.84.tar.gz/scripts/mysql_install_db.sh script.
It is run when compilation finishes:
Installing MySQL system tables...                                                                                                             
090725 20:02:34 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295                                  
090725 20:02:34 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295                                  
OK                                                                                                                                            
Filling help tables...                                                                                                                        
090725 20:02:34 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
090725 20:02:34 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
OK

How to repeat:
Build mysql-5.0.84.tar.gz from source on Linux. After successful compilation mysql-5.0.84/scripts/mysql_install_db.sh script will be runn and it will generate warnings on the screen.

Suggested fix:
MySQL when building itself should not issue warnings - it just looks bad.
I think defining max_join_size to 4294967295 in MySQL database before scripts/mysql_install_db.sh will run:
scripts/mysql_system_tables.sql
scripts/fill_help_tables.sql
may fix the warning.
[26 Jul 2009 15:06] Valeriy Kravchuk
Thank you for the problem report. I think this is actually a duplicate of bug #35346. Please, check.
[26 Jul 2009 16:19] Zbigniew Luszpinski
That bug is similar. They are talking about what is inside system tables after install. The difference is I'm asking for fixing build scripts inside MySQL source package so the warning will not be displayed at all at the end of install.
Beginning the use of MySQL with 4 warnings displayed at the end of compilation is not good start for an user. On source based Linux distribution every user see these warnings after install and on every mysql update. The updates happen often because we follow every minor mysql release. The user seeing this blame Linux distribution not knowing that these warnings come exclusively from MySQL because of bugs in MySQL system db install script. I would like to know if MySQL is interested in fixing these trivial warnings or we have to provide patching during packaging. This 5.0.84 release is not first having these warnings.

The most comfortable solution would be MySQL fixing these trivial warnings inside mysql tarball.
[26 Jul 2009 16:37] Valeriy Kravchuk
I think proper fix to bug #35346 will solve this your problem as well. 

But if you just want to workaround it to get clean installation, please, tell me what exact configure (if any) and make commands do you run. I do not see these warnings when I use BUILD/* scripts and do make install...
[26 Jul 2009 17:09] Sergei Golubchik
You see these warnings when you start mysqld
[26 Jul 2009 17:10] Sergei Golubchik
btw, on amd64 I get
090726 19:09:26 [Warning] option 'max_allowed_packet': unsigned value 2048000000 adjusted to 1073741824
[26 Jul 2009 17:15] Davi Arnaut
Can be reproduced by building a 32-bit server with --without-big-tables.
[27 Jul 2009 23:32] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/79376

2791 Davi Arnaut	2009-07-27
      Bug#46385: [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted t
      
      The maximum value of the max_join_size variable is set by converting
      a signed type (long int) with negative value (-1) to a wider unsigned
      type (unsigned long long), which yields the largest possible value of
      the wider unsigned type -- as per the language conversion rules. But,
      depending on build options, the type of the max_join_size might be a
      shorter type (ha_rows - unsigned long) which causes the warning to be
      thrown once the large value is truncated to fit.
      
      The solution is to ensure that the maximum value of the variable is
      always set to the maximum value of integer type of max_join_size.
      
      Furthermore, it would be interesting to always have a fixed type for
      this variable, but this would incur in a change of behavior which is
      not acceptable for a GA version. See Bug#35346.
     @ sql/mysqld.cc
        Set max value for type.
[28 Jul 2009 20:12] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/79465

2792 Davi Arnaut	2009-07-27
      Bug#46385: [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted t
      
      The maximum value of the max_join_size variable is set by converting
      a signed type (long int) with negative value (-1) to a wider unsigned
      type (unsigned long long), which yields the largest possible value of
      the wider unsigned type -- as per the language conversion rules. But,
      depending on build options, the type of the max_join_size might be a
      shorter type (ha_rows - unsigned long) which causes the warning to be
      thrown once the large value is truncated to fit.
      
      The solution is to ensure that the maximum value of the variable is
      always set to the maximum value of integer type of max_join_size.
      
      Furthermore, it would be interesting to always have a fixed type for
      this variable, but this would incur in a change of behavior which is
      not acceptable for a GA version. See Bug#35346.
     @ sql/mysqld.cc
        Set max value for type.
[28 Jul 2009 20:16] Davi Arnaut
Queued to 5.0-bugteam
[4 Aug 2009 13:56] Bugs System
Pushed into 5.0.85 (revid:davi.arnaut@sun.com-20090804135315-6lfdnk4zjwk7kn7r) (version source revid:davi.arnaut@sun.com-20090804135315-6lfdnk4zjwk7kn7r) (merge vers: 5.0.85) (pib:11)
[4 Aug 2009 19:50] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090804194615-h40sa098mx4z49qg) (version source revid:kristofer.pettersson@sun.com-20090731070848-zd38c7u5xaofh8hl) (merge vers: 5.4.4-alpha) (pib:11)
[4 Aug 2009 20:45] Bugs System
Pushed into 5.1.38 (revid:davi.arnaut@sun.com-20090804204317-ggodqkik7de6nfpz) (version source revid:davi.arnaut@sun.com-20090804204317-ggodqkik7de6nfpz) (merge vers: 5.1.38) (pib:11)
[11 Aug 2009 17:51] Paul Dubois
Noted in 5.0.85, 5.1.38, 5.4.4 changelogs.

The server printed warnings at startup about adjusting the size of
the max_join_size system. (These were harmless, but might be seen by
users as significant.)
[11 Aug 2009 18:50] Sergei Golubchik
Paul, did you mean "the size of the max_join_size system variable"  ?
[11 Aug 2009 20:19] Zbigniew Luszpinski
If this warning is harmless please change category from warning to info so an user will not be scared.
[11 Aug 2009 23:24] Paul Dubois
Serg, yes, max_join_size system *variable*. Thanks.

Zbigniew, "The server printed" - behavior in the past, not the present.
[1 Oct 2009 5:59] Bugs System
Pushed into 5.1.39-ndb-6.3.28 (revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (version source revid:jonas@mysql.com-20091001055605-ap2kiaarr7p40mmv) (merge vers: 5.1.39-ndb-6.3.28) (pib:11)
[1 Oct 2009 7:25] Bugs System
Pushed into 5.1.39-ndb-7.0.9 (revid:jonas@mysql.com-20091001072547-kv17uu06hfjhgjay) (version source revid:jonas@mysql.com-20091001071652-irejtnumzbpsbgk2) (merge vers: 5.1.39-ndb-7.0.9) (pib:11)
[1 Oct 2009 13:25] Bugs System
Pushed into 5.1.39-ndb-7.1.0 (revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (version source revid:jonas@mysql.com-20091001123013-g9ob2tsyctpw6zs0) (merge vers: 5.1.39-ndb-7.1.0) (pib:11)
[5 Oct 2009 10:50] Bugs System
Pushed into 5.1.39-ndb-6.2.19 (revid:jonas@mysql.com-20091005103850-dwij2dojwpvf5hi6) (version source revid:jonas@mysql.com-20090930185117-bhud4ek1y0hsj1nv) (merge vers: 5.1.39-ndb-6.2.19) (pib:11)
[7 Oct 2009 14:50] Paul Dubois
The 5.4 fix has been pushed to 5.4.2.
[6 Dec 2010 19:56] Davi Arnaut
Bug#35346 has been closed as a duplicate of this one.