[MediaWiki-l] [Cargo] Duplicate Cargo Rows

Ed edward.hoo at gmail.com
Sun Dec 13 05:51:42 UTC 2015


Hi,

The duplicate rows seem to happen as a result of a race condition when the
new record has been queued and somewhere in the process we reedit or
regenerate and queue a second one.

I'm not sure if it is buffering, using multiple connections, something else.

I was going to mess around with the DBO_NOBUFFER setting but the comments
in "includes/db/Database.php" are a bit ominous:

         * Unbuffered queries are very troublesome in MySQL:
         *
         *   - If another query is executed while the first query is being
read
         *     out, the first query is killed. This means you can't call
normal
         *     MediaWiki functions while you are reading an unbuffered
query result
         *     from a normal wfGetDB() connection.
         *
         *   - Unbuffered queries cause the MySQL server to use large
amounts of
         *     memory and to hold broad locks which block other queries.

Thoughts?


On Tue, Nov 24, 2015 at 9:41 AM, Yaron Koren <yaron at wikiworks.com> wrote:

> Hi Ed,
>
> Yes, this sometimes happens with Cargo - it seems to only happen under
> fairly special circumstances, which makes debugging it difficult. For now,
> if it happens, I would just recreate the relevant table(s), either via the
> web interface or with the command line script cargoRecreateData.php.
>
> -Yaron
>
> On Tue, Nov 24, 2015 at 12:12 AM, Ed <edward.hoo at gmail.com> wrote:
>
> > Hi everyone,
> >
> > I'm getting duplicate rows in the cargo tables.  The instances I have
> found
> > have the same data with the exception of the _ID.  It happens on main
> > tables, tables created for fields with multiple values, and tables
> created
> > for multiple instances of a template.
> >
> > This is creating cartesian products on calls to #cargo_query.
> >
> > I'm running MySQL with InnoDB tables and the version of cargo I have is
> > 0.10 last updated on 11/22.  If there is a way to turn on a trace for the
> > SQL queries or add debug statements in the code I could provide a log.
> >
> > Thoughts?
> >
> > Thanks!!
> > _______________________________________________
> > MediaWiki-l mailing list
> > To unsubscribe, go to:
> > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
> >
>
>
>
> --
> WikiWorks · MediaWiki Consulting · http://wikiworks.com
> _______________________________________________
> MediaWiki-l mailing list
> To unsubscribe, go to:
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>


More information about the MediaWiki-l mailing list