<div dir="ltr">堀本さん<div><br></div><div>お世話になっております。宮下です。</div><div>教えていただき、ありがとうございます!</div><div><br></div><div>「サポート」の意味はお察しの通りです。表現が間違っていましたorz</div><div>今後はその方法での運用を検討したいと思います!</div><div><br></div><div>エラーの件ですが、t1テーブルのインデックス(t1#ftx4)ではなくて、t1テーブルが影響するんですね。。。</div><div>ラッパーモードなのでてっきりt1テーブルのインデックス(t1#ftx4)が影響するのかと思っていましたorz</div><div><br></div><div>さらに、Groonga, Mroongaを調べたいと思います!</div><div>ありがとうございましたm(_ _)m</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017年10月4日 13:19 Horimoto Yasuhiro <span dir="ltr">&lt;<a href="mailto:horim****@clear*****" target="_blank">horim****@clear*****</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">宮下さん<br>
<br>
こんにちは。堀本です。<br>
<br>
<br>
ご質問の「これがサポートされる方法なのか?」については、「<wbr>サポート」というのが、「正常に動作する」という意味であれば、<br>
宮下さんが実施した対策で、正常に動作します。<br>
<br>
「さらに良い方法はないか?」についてですが、こちらは、<wbr>Mroongaからテーブルを作成する際に、現状、KEY_<wbr>LARGEを指定する方法がないので、KEY_<wbr>LARGEを指定できるようにしてみます。<br>
<br>
また、「インデックステーブルは「TABLE_PAT_KEY」<wbr>で作成されているのに、なぜエラーログには「[hash]」<wbr>と出力されるのか?」ですが、こちらは、<wbr>キーサイズが制限を超えたテーブルが「TABLE_HASH_<wbr>KEY」で作成されているt1テーブルだからだと思います。<br>
<br>
このエラーログは、<wbr>t1テーブルにたくさんのレコードを挿入した結果、<wbr>t1テーブルのキーサイズが増加していき、<wbr>4GBを超えてしまったために発生したエラーログです。<wbr>t1テーブルは「TABLE_HASH_KEY」<wbr>で作成されているので、ログには「[hash]」<wbr>と出力されます。<br>
<br>
<br>
以上です。失礼いたします。<br>
<span class=""><br>
On 2017年10月02日 13:25, Masanori Miyashita wrote:<br>
&gt; いつもお世話になっております。宮下と申します。<br>
&gt;<br>
&gt; Mroongaにてデータの挿入時およびインデックスをオフライ<wbr>ンで作成するときに<br>
&gt; 以下のエラーがgroonga.logに出力されました。<br>
&gt; この事象について、自分なりの対策を講じたのですが<br>
&gt; ・これがサポートされる方法なのか?<br>
&gt; ・さらに良い方法はないか?(<wbr>Mroonga経由でGroongaにテーブル作成時のflag<wbr>を渡せないか?)<br>
&gt; について、もしご存知であれば教えていただけますと幸いです。<br>
&gt; また、インデックステーブルは「TABLE_PAT_KEY」<wbr>で作成されているのに、なぜエラーログには「[hash]」<wbr>と出力されるのか?<br>
&gt; こちらについても、<wbr>もしご存じでしたら教えていただけますと幸いです。<br>
&gt;<br>
&gt; groonga.log:<br>
</span>&gt; |e|af56e700|[hash][key][put] total key size is over: &lt;t1&gt;: max=4294967295 &lt;tel:4294967295&gt;: current=4294966695 &lt;tel:4294966695&gt;: new key size=1179<br>
<span class="">&gt;<br>
&gt; 対策:<br>
&gt; 1)mroonga_command(&#39;schema&#39;)<wbr>を使用して、対象のテーブル作成コマンドを記録<br>
&gt; 2)mroonga_commandを使ってテーブル削除<br>
&gt; 3)1で記録しておいたtable_<wbr>createコマンドの内容に「KEY_LARGE」<wbr>を追加してテーブル作成<br>
&gt; 4)alter table ... disable/enable keysでインデックスを再構築<br>
&gt;<br>
&gt;<br>
&gt; 以下は詳細を記載しております。必要に応じてご覧ください。<br>
&gt; よろしくお願いいたします。<br>
&gt;<br>
&gt;<br>
&gt; groonga.log詳細:<br>
</span>&gt; 2017-09-26 01:10:12.221752|e|af56e700|[<wbr>hash][key][put] total key size is over: &lt;t1&gt;: max=4294967295 &lt;tel:4294967295&gt;: current=4294966695 &lt;tel:4294966695&gt;: new key size=1179<br>
<div><div class="h5">&gt; 2017-09-26 01:10:12.366788|e|af56e700|/<wbr>usr/loca/groonga/lib/<wbr>libgroonga.so.0(+0x222f81) [0x7fba3c822f81]<br>
&gt; 2017-09-26 01:10:12.366849|e|af56e700|/<wbr>usr/loca/groonga/lib/<wbr>libgroonga.so.0(+0x223549) [0x7fba3c823549]<br>
&gt; 2017-09-26 01:10:12.366872|e|af56e700|/<wbr>usr/loca/groonga/lib/<wbr>libgroonga.so.0(+0x225a2a) [0x7fba3c825a2a]<br>
&gt; 2017-09-26 01:10:12.366882|e|af56e700|/<wbr>usr/loca/groonga/lib/<wbr>libgroonga.so.0(grn_hash_add+<wbr>0x974) [0x7fba3c826523]<br>
&gt; 2017-09-26 01:10:12.366890|e|af56e700|/<wbr>usr/loca/groonga/lib/<wbr>libgroonga.so.0(grn_table_add+<wbr>0x7f9) [0x7fba3c6cb9d9]<br>
&gt; 2017-09-26 01:10:12.366898|e|af56e700|/<wbr>usr/local/mysql/lib/plugin/ha_<wbr>mroonga.so(_ZN10ha_<wbr>mroonga23wrapper_write_row_<wbr>indexEPh+0x3a6) [0x7fb9fb5b3e34]<br>
&gt; 2017-09-26 01:10:12.366907|e|af56e700|/<wbr>usr/local/mysql/lib/plugin/ha_<wbr>mroonga.so(_ZN10ha_<wbr>mroonga17wrapper_write_rowEPh+<wbr>0x25a) [0x7fb9fb5b3a5e]<br>
&gt; 2017-09-26 01:10:12.366915|e|af56e700|/<wbr>usr/local/mysql/lib/plugin/ha_<wbr>mroonga.so(_ZN10ha_<wbr>mroonga9write_rowEPh+0xbd) [0x7fb9fb5b674f]<br>
&gt; 2017-09-26 01:10:12.366923|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>ZN7handler12ha_write_rowEPh+<wbr>0x15d) [0x64e23d]<br>
&gt; 2017-09-26 01:10:12.366931|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>Z12write_<wbr>recordP3THDP5TABLEP9COPY_<wbr>INFOS4_+0xc13) [0x7c3c6d]<br>
&gt; 2017-09-26 01:10:12.366939|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>Z12mysql_insertP3THDP10TABLE_<wbr>LISTR4ListI4ItemERS3_IS5_ES6_<wbr>S6_15enum_duplicatesb+0x1006) [0x7c1a74]<br>
&gt; 2017-09-26 01:10:12.366947|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>Z21mysql_execute_commandP3THD+<wbr>0x2e19) [0x7e48b9]<br>
&gt; 2017-09-26 01:10:12.366955|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>Z11mysql_<wbr>parseP3THDPcjP12Parser_state+<wbr>0x428) [0x7ec536]<br>
&gt; 2017-09-26 01:10:12.366963|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>Z16dispatch_command19enum_<wbr>server_commandP3THDPcj+0xc94) [0x7df6e8]<br>
&gt; 2017-09-26 01:10:12.366971|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>Z10do_commandP3THD+0x340) [0x7de812]<br>
&gt; 2017-09-26 01:10:12.366979|e|af56e700|/<wbr>usr/local/mysql/bin/mysqld(_<wbr>Z24do_handle_one_<wbr>connectionP3THD+0x1be) [0x7a57ed]<br>
&gt;<br>
&gt; 発生状況:<br>
&gt; 対象のテーブルに対して総ファイルサイズ870MB(<wbr>420万行)のデータを10万行ずつに分けてbulk insertしたところ<br>
&gt; 740MB~760MBあたり(360万行~370万行)<wbr>でstdout or stderrに以下が出力された。併せて、groonga.<wbr>logに上記エラーが出力された。<br>
&gt; ※順不同。実際には同じ内容が連続して出力されていた。<br>
&gt; ---<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;&amp;&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;&#39;&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;L&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;V&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;[&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;]&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;c&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;f&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;m&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;q&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;�<br>
&gt;&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ヲ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ヲ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ェ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ォ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ョ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ケ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ニ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ノ<br>
&gt;&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ヤ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ヨ&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;ン&gt;<br>
&gt; Warning (Code 1026): failed to add a new record into groonga: key=&lt;゙&gt;<br>
&gt;<br>
&gt; ---<br>
&gt;<br>
&gt; 影響:<br>
&gt; 上記エラー移行にインデックス作成の対象とされた行については、<wbr>インデックスが正常に作成されていない可能性がある。<br>
&gt;<br>
&gt; システム環境:<br>
&gt; CentOS6.5, MySQL-5.6.17, Groonga-7.0.5, Mroonga-7.05<br>
&gt;<br>
&gt; テーブル定義(ラッパーモード):<br>
&gt; CREATE TABLE `t1` (<br>
&gt;   `col1` int(11) NOT NULL,<br>
&gt;   `col2` varchar(64) NOT NULL DEFAULT &#39;&#39;,<br>
&gt;   `col3` varchar(64) NOT NULL DEFAULT &#39;&#39;,<br>
&gt;   `col4` int(11) NOT NULL,<br>
&gt;   `col5` bigint(20) NOT NULL,<br>
&gt;   `col6` varchar(255) NOT NULL DEFAULT &#39;&#39;,<br>
&gt;   `col7` bigint(20) NOT NULL,<br>
&gt;   `col8` varchar(255) DEFAULT NULL,<br>
&gt;   `col9` datetime DEFAULT NULL,<br>
&gt;   `col10` datetime DEFAULT NULL,<br>
&gt;   PRIMARY KEY (`col1`,`col2`,`col3`,`col4`,`<wbr>col5`,`col6`,`col7`),<br>
&gt;   KEY `btr1` (`col1`,`col2`,`col3`,`col8`,`<wbr>col7`),<br>
&gt;   KEY `btr2` (`col1`,`col2`,`col3`,`col4`,`<wbr>col8`,`col7`),<br>
&gt;   KEY `btr3` (`col1`,`col2`,`col7`,`col5`),<br>
&gt;   FULLTEXT KEY `ftx4` (`col8`)<br>
&gt; ) ENGINE=Mroonga DEFAULT CHARSET=utf8 COMMENT=&#39;engine &quot;InnoDB&quot; テスト用テーブル&#39;<br>
&gt;<br>
&gt;<br>
&gt; テーブルリスト:<br>
&gt; mroonga_command(&#39;table_list --output_pretty yes&#39;): [<br>
&gt;     [<br>
&gt; ---省略---<br>
&gt;     ],<br>
&gt;     [<br>
&gt;       256,<br>
&gt;       &quot;mroonga_operations&quot;,<br>
</div></div>&gt;       &quot;d1.mrn.0000100 &lt;tel:0000100&gt;&quot;,<br>
<span class="">&gt;       &quot;TABLE_NO_KEY|PERSISTENT&quot;,<br>
&gt;       null,<br>
&gt;       null,<br>
&gt;       null,<br>
&gt;       null<br>
&gt;     ],<br>
&gt;     [<br>
&gt;       265,<br>
&gt;       &quot;t1&quot;,<br>
</span>&gt;       &quot;d1.mrn.0000109 &lt;tel:0000109&gt;&quot;,<br>
<div><div class="h5">&gt;       &quot;TABLE_HASH_KEY|KEY_LARGE|<wbr>PERSISTENT&quot;, ←「KEY_LARGE」は自分で追加しました。<br>
&gt;       &quot;ShortText&quot;,<br>
&gt;       null,<br>
&gt;       null,<br>
&gt;       null<br>
&gt;     ],<br>
&gt;     [<br>
&gt;       266,<br>
&gt;       &quot;t1#ftx4&quot;,<br>
&gt;       &quot;d1.mrn.000010A&quot;,<br>
&gt;       &quot;TABLE_PAT_KEY|PERSISTENT&quot;,<br>
&gt;       &quot;ShortText&quot;,<br>
&gt;       null,<br>
&gt;       &quot;TokenBigram&quot;,<br>
&gt;       &quot;NormalizerMySQLGeneralCI&quot;<br>
&gt;     ]<br>
&gt;   ]<br>
&gt;<br>
&gt; カラムリスト1:<br>
&gt; mroonga_command(&#39;column_list t1 --output_pretty yes&#39;): [<br>
&gt;     [<br>
&gt; ---省略---<br>
&gt;     ],<br>
&gt;     [<br>
&gt;       265,<br>
&gt;       &quot;_key&quot;,<br>
&gt;       &quot;&quot;,<br>
&gt;       &quot;&quot;,<br>
&gt;       &quot;COLUMN_SCALAR&quot;,<br>
&gt;       &quot;t1&quot;,<br>
&gt;       &quot;ShortText&quot;,<br>
&gt;       [<br>
&gt;       ]<br>
&gt;     ]<br>
&gt;   ]<br>
&gt;<br>
&gt; カラムリスト2:<br>
&gt; mroonga_command(&#39;column_list t1#ftx4 --output_pretty yes&#39;): [<br>
&gt;     [<br>
&gt; ---略---<br>
&gt;     ],<br>
&gt;     [<br>
&gt;       266,<br>
&gt;       &quot;_key&quot;,<br>
&gt;       &quot;&quot;,<br>
&gt;       &quot;&quot;,<br>
&gt;       &quot;COLUMN_SCALAR&quot;,<br>
&gt;       &quot;t1#ftx4&quot;,<br>
&gt;       &quot;ShortText&quot;,<br>
&gt;       [<br>
&gt;       ]<br>
&gt;     ],<br>
&gt;     [<br>
&gt;       267,<br>
&gt;       &quot;index&quot;,<br>
&gt;       &quot;d1.mrn.000010B&quot;,<br>
&gt;       &quot;index&quot;,<br>
&gt;       &quot;COLUMN_INDEX|WITH_POSITION|<wbr>PERSISTENT&quot;,<br>
&gt;       &quot;t1#ftx4&quot;,<br>
&gt;       &quot;t1&quot;,<br>
&gt;       [<br>
&gt;       ]<br>
&gt;     ]<br>
&gt;   ]<br>
&gt;<br>
&gt; insertファイル:<br>
&gt;   内容:insert(bulk)文<br>
&gt;   容量:それぞれ11MB~35MB、計870MB<br>
&gt;   行数:各10万行、計420万行弱<br>
&gt;<br>
&gt; 主なmrnファイル:※()内はサフィックス<br>
</div></div>&gt; ・d1.mrn.0000109 &lt;tel:0000109&gt;(.001, .002, .003, 004):計4.8GB<br>
<span class="">&gt; ・d1.mrn.000010A:12MB<br>
&gt; ・d1.mrn.000010B(.C):490MB<br>
&gt;<br>
&gt; ibdファイル:<br>
&gt; ・t1.ibd:4GB ※B-Treeインデックスでかなり増加してます。<br>
&gt;<br>
&gt; フルテキストインデックス作成対象のカラムサイズ:<br>
&gt; ・420万行(全体):420MB<br>
&gt; ・360万行(エラー発生付近):350MB<br>
&gt;<br>
&gt;<br>
&gt; 以上<br>
&gt;<br>
&gt;<br>
&gt;<br>
</span>&gt; ______________________________<wbr>_________________<br>
&gt; groonga-dev mailing list<br>
&gt; <a href="mailto:groon****@lists*****">groon****@lists*****</a><br>
&gt; <a href="https://lists.osdn.me/mailman/listinfo/groonga-dev" rel="noreferrer" target="_blank">https://lists.osdn.me/mailman/<wbr>listinfo/groonga-dev</a><br>
&gt;<br>
<br>
______________________________<wbr>_________________<br>
groonga-dev mailing list<br>
<a href="mailto:groon****@lists*****">groon****@lists*****</a><br>
<a href="https://lists.osdn.me/mailman/listinfo/groonga-dev" rel="noreferrer" target="_blank">https://lists.osdn.me/mailman/<wbr>listinfo/groonga-dev</a><br>
</blockquote></div><br></div>