WL#5533: Deprecate features in Fuchsia

Affects: Server-5.6   —   Status: Complete

NOTE: This WL serves as a place to list candidates for
deprecation/removal.
UPDATE: 2011-06-07 Sent email requesting feedback on the
InnoDB proposals by 2011-06-14.
UPDATE: 2011-06-15 ServerPT accepted the proposal to deprecate all items and add 
warnings in Fuchsia.

This is a task for formally deprecating items in Fuchsia (MySQL 5.6)
so that they can be scheduled for post-Fuchsia removal.

The proposal is that each item be deprecated in Fuchsia such that:

1) A warning accompany its use
2) Any accompanying --help text mentions the deprecation
3) The item be removed in some future release to be determined

-----
Proposals for InnoDB:

For these items, the general proposal is to deprecate each of them in Fuchsia, 
such that use results in a warning, and remove them in a future release. The
exception is that for --skip-innodb and ignore_builtin_innodb, their use should
result in a warning, AND they should otherwise be ignored because they no longer 
make sense.

1) "innodb_table_monitor".
(pushed in mysql-trunk under vasil.dimov@oracle.com-20110728130652-735stdow5xo5t2ds)

We used to create a table called "innodb_table_monitor" to dump the InnoDB
system metadata into errorlog:

mysql> create table innodb_table_monitor(a int) engine=innodb;
Query OK, 0 rows affected (0.05 sec)

===========================================
090623  8:15:25 INNODB TABLE MONITOR OUTPUT
===========================================
--------------------------------------
TABLE: name dc_test/innodb_table_monitor, id 0 24, columns 5, indexes 1, 
appr.rows 0
  COLUMNS: a: DATA_INT len 4 prec 0; DB_ROW_ID: DATA_SYS prtype 256 len 6 prec
0; DB_TRX_ID: DATA_SYS prtype 257 len 6 prec 0; DB_ROLL_PTR: DATA_SYS prtype 258
len 7 prec 0;
  INDEX: name GEN_CLUST_INDEX, id 0 28, fields 0/4, type 1
   root page 50, appr.key vals 0, leaf pages 1, size pages 1
   FIELDS:  DB_ROW_ID DB_TRX_ID DB_ROLL_PTR a
...

Such output is periodical, and data is unstructured, and cannot be queried
unless users write their own tools to parse the result.

With InnoDB Information Schema System Tables
(https://intranet.mysql.com/worklog/InnoDB-Sprint/?tid=5373) in 5.5, all the
system table information (metadata) will be displayed through Information Schema
System Tables. They like any other read only relational tables/views that can be
queried with various relational operations. This gives user a clear view on the
server metadata.

As a result, "innodb_table_monitor" becomes obsolete. However, considering there
could be external user tools depended on the feature, we should deprecate the
feature gradually, giving user enough time to switch to IS System Tables. We
would consider deprecate the feature in Fuchsia.

2) Parameter "innodb_locks_unsafe_for_binlog"
(pushed in mysql-trunk under vasil.dimov@oracle.com-20110729082038-pv9an3xs6lgrf49p)

See http://bugs.mysql.com/bug.php?id=41393 for details.

3) skip-innodb; Not implemented in this scope, moved to WL#5981

4) Parameter "innodb_stats_sample_pages"
(pushed in mysql-trunk under vasil.dimov@oracle.com-20110803163956-294y8ai4uvfa82jw)

This parameter was first introduced in 5.1 plugin. As WL#5520 (InnoDB Persistent
optimizer statistics) is implemented in 5.6, the new parameter
innodb_stats_transient_sample_pages should be used.

5) Parameter "innodb_use_sys_malloc" and "innodb_additional_mem_pool_size"
(pushed in mysql-trunk under vasil.dimov@oracle.com-20110804143312-ey0t07v5aa26x1qj)

We should always use system malloc, and remove InnoDB internal malloc
implementation at some point. There is no guarantee that all future InnoDB new
features will work with InnoDB internal malloc.

innodb_additional_mem_pool_size is not used when innodb_use_sys_malloc is set to
yes.

-----
In MySQL 5.6.1, a MASTER_RETRY_COUNT option for CHANGE MASTER TO has been
implemented (BUG#44209), so the proposal is:

* Deprecate the --master-retry-count server option in Erica.

* Remove --master-retry-count 2 GA releases following the GA release
  containing the deprecation warning.

Reason to deprecate option: It's confusing because it is silently
ignored if the master.info file exists.

NOTE: 2010-11-22: Feedback was solicited for this item.
NOTE: 2010-12-15: ServerPT approved the proposal:
* Deprecate --master-retry-count in Erica (5.6)
* Remove --master-retry-count in 5.8 (see WL#5722)
NOTE: 2011-01-05: It turned out this option was already deprecated
in Dahlia (5.6) by WL#5265. Removal remains to be done in 5.8 by WL#5722.

-----

Guilhem proposes to

1) Remove all BDB error codes/messages from the code, so that extra/perror no
longer can return these.

2) Remove the "--all" option from extra/perror. This option is a) undocumented
and b) does not exist on either Solaris or Windows.

See e-mail thread on dev-private/support-private:

http://myforums.oracle.com/jive3/thread.jspa?threadID=779398&tstart=15

NOTE: mail sent to Server PT asking for approval on 2011-05-27.
NOTE: silent consent from Server PT by 2011-06-03.

Implementation done as WL#5914.