【秘密】関係者外秘 To:堀本様 渡部@国際ソフトウェアと申します。 早速のご回答ありがとうございます。 先延ばしになっている件、承知いたしました。 お手数をおかけしますが、よろしくお願いいたします。 On 2021/09/09 12:00, groon****@lists***** wrote: > groonga-dev > メーリングリストへの投稿は以下のアドレスに送ってください. > > groon****@lists***** > > Webブラウザを使って入退会するには以下のURLにどうぞ. > > https://lists.osdn.me/mailman/listinfo/groonga-dev > メールを使う場合,件名(Subject:)または本文に help > と書いて以下の アドレスに送信してください. > groon****@lists***** > > メーリングリストの管理者への連絡は,以下のアドレスにお願いします. > > groon****@lists***** > > 返信する場合,件名を書き直して内容がわかるようにしてください. > そのままだと,以下のようになってしまいます. > "Re: groonga-dev まとめ読み, XX 巻 XX 号" > > > 本日の話題: > > 1. [groonga-dev,04888] Re: Mroongaバグ報告(8) (Horimoto Yasuhiro) > 2. [groonga-dev,04889] Re: Mroongaバグ報告(8) (Sutou Kouhei) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 08 Sep 2021 13:12:15 +0900 (JST) > From: Horimoto Yasuhiro <horim****@clear*****> > To: groon****@lists***** > Subject: [groonga-dev,04888] Re: Mroongaバグ報告(8) > Message-ID: > <20210****@clear*****> > Content-Type: Text/Plain; charset=utf-8 > > 堀本です。 > > 対応する予定ではいるのですが、ここ数ヶ月、手が空かないので > 先延ばしになっています。すみません。。。 > > もうしばらくお待ちいただければと思います。 > > 以上です。失礼いたします。 > > From: 渡部克仁 <watan****@ksw*****> > Subject: [groonga-dev,04887] Mroongaバグ報告(8) > Date: Wed, 8 Sep 2021 09:45:25 +0900 > >> 【秘密】関係者外秘 >> To:堀本様 >> >> 渡部@国際ソフトウェアと申します。 >> >> 下記バグについて、今後の対応計画などはありますでしょうか。 >> >> 2021-07-30にリリースされたMroonga 11.05、 >> 2021-08-29にリリースされたMroonga 11.06、 >> 共にリリースノートを拝見しましたが、該当する改良が見当たら >> なかったため、確認させていただいている次第です。 >> >> 以上、よろしくお願いいたします。 >> >> >> On 2021/07/07 12:13, 渡部克仁 wrote: >>> 【秘密】関係者外秘 >>> To:堀本様 >>> 渡部@国際ソフトウェアと申します。 >>> ご報告ありがとうございます。 >>> 原因が判明して安堵いたしました。 >>> ご丁寧に調査いただき感謝申し上げます。 >>> Mroongaの修正については、引き続きご対応よろしくお願いいたします。 >>> On 2021/07/07 12:00, groon****@lists***** wrote: >>>> groonga-dev >>>> メーリングリストへの投稿は以下のアドレスに送ってください. >>>> >>>> groon****@lists***** >>>> >>>> Webブラウザを使って入退会するには以下のURLにどうぞ. >>>> >>>> https://lists.osdn.me/mailman/listinfo/groonga-dev >>>> メールを使う場合,件名(Subject:)または本文に help >>>> と書いて以下の アドレスに送信してください. >>>> groon****@lists***** >>>> >>>> メーリングリストの管理者への連絡は,以下のアドレスにお願いします. >>>> >>>> groon****@lists***** >>>> >>>> 返信する場合,件名を書き直して内容がわかるようにしてください. >>>> そのままだと,以下のようになってしまいます. >>>> "Re: groonga-dev まとめ読み, XX 巻 XX 号" >>>> >>>> >>>> 本日の話題: >>>> >>>> 1. [groonga-dev,04876] Re: Mroongaバグ報告(6) (Horimoto Yasuhiro) >>>> >>>> >>>> >> ---------------------------------------------------------------------- >>>> >>>> Message: 1 >>>> Date: Tue, 06 Jul 2021 16:28:20 +0900 (JST) >>>> From: Horimoto Yasuhiro <horim****@clear*****> >>>> To: groon****@lists***** >>>> Subject: [groonga-dev,04876] Re: Mroongaバグ報告(6) >>>> Message-ID: >>>> <20210****@clear*****> >>>> Content-Type: Text/Plain; charset=utf-8 >>>> >>>> 堀本です。 >>>> >>>> 原因と対処方法がわかったので、報告いたします。 >>>> 原因はMroongaのバグでした。 >>>> >>>> 以下の提示いただいたクエリーを実行した際 >>>> MariaDBのオプティマイザーは、IN句内のサブクエリーを実行した結果のテー >>>> ブルと >>>> IN句の外側のテーブル(Posts)テーブルをSEMI JOINで結合します。 >>>> >>>> SELECT Id, ChannelId, RootId >>>> FROM Posts p3 >>>> WHERE Id IN ( >>>> SELECT * FROM >>>> (SELECT RootId >>>> FROM Posts >>>> WHERE UpdateAt > 1617352409099 AND >>>> ChannelId = 'i9rsh6im4ffepfpdgm51hjze3a' >>>> LIMIT 1000) >>>> temp_tab); >>>> >>>> IN句の中のサブクエリーの結果は以下のようになり、 >>>> 以下の表の値と、Posts.Idの値が同じレコードを抽出します。 >>>> >>>> つまり、''(空文字)と"twn3smcaei8wjbqsm8bcmo8qah"と一致する >>>> Posts.Idを持つレコードを抽出します。 >>>> >>>> +----------------------------+ >>>> | RootId | >>>> +----------------------------+ >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | twn3smcaei8wjbqsm8bcmo8qah | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> +----------------------------+ >>>> 20 rows in set (0.001 sec) >>>> >>>> この時、Mroongaを使用していると、''と一致するレコードとして >>>> 任意のIDを持つレコードを抽出してしまい、意図しないIDのレコードが結果に >>>> 含まれてしまいます。 >>>> InnoDBでは、再現しないため、Mroonga特有の問題です。 >>>> >>>> Mroongaを修正しますが、さしあたっては以下の対処方法で >>>> 正しい結果が得られます。 >>>> >>>> 今回の問題は、''のような空文字のレコードを持つ表との結合 >>>> で発生します。したがって、''のようなレコードが含まれないように >>>> することで現象の発生を防げます。 >>>> >>>> RootIdはIdと比較しており、IdはNOT NULL属性なので、RootIdが''なレコード >>>> は除外しても問題ないと考えます。 >>>> >>>> そのため、問題のクエリーのIN句の中のサブクエリーに >>>> 以下のように、RootId <> ''を追加してRootIdが''なレコードを除外します。 >>>> このようにすることで、期待する結果が得られます。 >>>> >>>> SELECT Id, ChannelId, RootId >>>> FROM Posts p3 >>>> WHERE Id IN ( >>>> SELECT * FROM >>>> (SELECT RootId >>>> FROM Posts >>>> WHERE UpdateAt > 1617352409099 AND >>>> ChannelId = 'i9rsh6im4ffepfpdgm51hjze3a' AND >>>> RootId <> '' >>>> LIMIT 1000) >>>> temp_tab); >>>> >>>> Mroongaの修正が完了しましたら、また改めて連絡します。 >>>> >>>> 以上です。失礼いたします。 >>>> >> >> _______________________________________________ >> groonga-dev mailing list >> groon****@lists***** >> https://lists.osdn.me/mailman/listinfo/groonga-dev > > ------------------------------ > > Message: 2 > Date: Wed, 08 Sep 2021 15:37:32 +0900 (JST) > From: Sutou Kouhei <kou****@clear*****> > To: groon****@lists***** > Subject: [groonga-dev,04889] Re: Mroongaバグ報告(8) > Message-ID: <20210****@clear*****> > Content-Type: Text/Plain; charset=utf-8 > > 須藤です。 > > おまたせしました。ようやく直しました。 > 今月末のリリースにはこの修正が含まれます。 > > In <d5608****@ksw*****> > "[groonga-dev,04887] Mroongaバグ報告(8)" on Wed, 8 Sep 2021 09:45:25 +0900, > 渡部克仁 <watan****@ksw*****> wrote: > >> 【秘密】関係者外秘 >> To:堀本様 >> >> 渡部@国際ソフトウェアと申します。 >> >> 下記バグについて、今後の対応計画などはありますでしょうか。 >> >> 2021-07-30にリリースされたMroonga 11.05、 >> 2021-08-29にリリースされたMroonga 11.06、 >> 共にリリースノートを拝見しましたが、該当する改良が見当たら >> なかったため、確認させていただいている次第です。 >> >> 以上、よろしくお願いいたします。 >> >> >> On 2021/07/07 12:13, 渡部克仁 wrote: >>> 【秘密】関係者外秘 >>> To:堀本様 >>> 渡部@国際ソフトウェアと申します。 >>> ご報告ありがとうございます。 >>> 原因が判明して安堵いたしました。 >>> ご丁寧に調査いただき感謝申し上げます。 >>> Mroongaの修正については、引き続きご対応よろしくお願いいたします。 >>> On 2021/07/07 12:00, groon****@lists***** wrote: >>>> groonga-dev >>>> メーリングリストへの投稿は以下のアドレスに送ってください. >>>> >>>> groon****@lists***** >>>> >>>> Webブラウザを使って入退会するには以下のURLにどうぞ. >>>> >>>> https://lists.osdn.me/mailman/listinfo/groonga-dev >>>> メールを使う場合,件名(Subject:)または本文に help >>>> と書いて以下の アドレスに送信してください. >>>> groon****@lists***** >>>> >>>> メーリングリストの管理者への連絡は,以下のアドレスにお願いします. >>>> >>>> groon****@lists***** >>>> >>>> 返信する場合,件名を書き直して内容がわかるようにしてください. >>>> そのままだと,以下のようになってしまいます. >>>> "Re: groonga-dev まとめ読み, XX 巻 XX 号" >>>> >>>> >>>> 本日の話題: >>>> >>>> 1. [groonga-dev,04876] Re: Mroongaバグ報告(6) (Horimoto Yasuhiro) >>>> >>>> >>>> >> ---------------------------------------------------------------------- >>>> >>>> Message: 1 >>>> Date: Tue, 06 Jul 2021 16:28:20 +0900 (JST) >>>> From: Horimoto Yasuhiro <horim****@clear*****> >>>> To: groon****@lists***** >>>> Subject: [groonga-dev,04876] Re: Mroongaバグ報告(6) >>>> Message-ID: >>>> <20210****@clear*****> >>>> Content-Type: Text/Plain; charset=utf-8 >>>> >>>> 堀本です。 >>>> >>>> 原因と対処方法がわかったので、報告いたします。 >>>> 原因はMroongaのバグでした。 >>>> >>>> 以下の提示いただいたクエリーを実行した際 >>>> MariaDBのオプティマイザーは、IN句内のサブクエリーを実行した結果のテー >>>> ブルと >>>> IN句の外側のテーブル(Posts)テーブルをSEMI JOINで結合します。 >>>> >>>> SELECT Id, ChannelId, RootId >>>> FROM Posts p3 >>>> WHERE Id IN ( >>>> SELECT * FROM >>>> (SELECT RootId >>>> FROM Posts >>>> WHERE UpdateAt > 1617352409099 AND >>>> ChannelId = 'i9rsh6im4ffepfpdgm51hjze3a' >>>> LIMIT 1000) >>>> temp_tab); >>>> >>>> IN句の中のサブクエリーの結果は以下のようになり、 >>>> 以下の表の値と、Posts.Idの値が同じレコードを抽出します。 >>>> >>>> つまり、''(空文字)と"twn3smcaei8wjbqsm8bcmo8qah"と一致する >>>> Posts.Idを持つレコードを抽出します。 >>>> >>>> +----------------------------+ >>>> | RootId | >>>> +----------------------------+ >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | twn3smcaei8wjbqsm8bcmo8qah | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> | | >>>> +----------------------------+ >>>> 20 rows in set (0.001 sec) >>>> >>>> この時、Mroongaを使用していると、''と一致するレコードとして >>>> 任意のIDを持つレコードを抽出してしまい、意図しないIDのレコードが結果に >>>> 含まれてしまいます。 >>>> InnoDBでは、再現しないため、Mroonga特有の問題です。 >>>> >>>> Mroongaを修正しますが、さしあたっては以下の対処方法で >>>> 正しい結果が得られます。 >>>> >>>> 今回の問題は、''のような空文字のレコードを持つ表との結合 >>>> で発生します。したがって、''のようなレコードが含まれないように >>>> することで現象の発生を防げます。 >>>> >>>> RootIdはIdと比較しており、IdはNOT NULL属性なので、RootIdが''なレコード >>>> は除外しても問題ないと考えます。 >>>> >>>> そのため、問題のクエリーのIN句の中のサブクエリーに >>>> 以下のように、RootId <> ''を追加してRootIdが''なレコードを除外します。 >>>> このようにすることで、期待する結果が得られます。 >>>> >>>> SELECT Id, ChannelId, RootId >>>> FROM Posts p3 >>>> WHERE Id IN ( >>>> SELECT * FROM >>>> (SELECT RootId >>>> FROM Posts >>>> WHERE UpdateAt > 1617352409099 AND >>>> ChannelId = 'i9rsh6im4ffepfpdgm51hjze3a' AND >>>> RootId <> '' >>>> LIMIT 1000) >>>> temp_tab); >>>> >>>> Mroongaの修正が完了しましたら、また改めて連絡します。 >>>> >>>> 以上です。失礼いたします。 >>>> >> >> _______________________________________________ >> groonga-dev mailing list >> groon****@lists***** >> https://lists.osdn.me/mailman/listinfo/groonga-dev > > ------------------------------ > > Subject: まとめ読みフッタ > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > https://lists.osdn.me/mailman/listinfo/groonga-dev > > > ------------------------------ > > 以上: groonga-dev まとめ読み, 151 巻, 3 号 > *************************************************** >