I thought about this, and is it possible that for delta imports Solr is expecting a persistent cache, like the old BerkleyBackedCache? I can't imagine any other reason why it wouldn't run the subentity queries on delta imports.
- Drew On Fri, Jun 13, 2014 at 4:37 PM, Drew Mazurek <d...@veoci.com> wrote: > Sure... here's the document stanza, simplified: > > <document name="object"> > <entity name="object" pk="object_id" query="SELECT > o.object_id,o.object_name, > CAST(p.profile_id AS CHAR) AS owner_profile_id > FROM `objects` o > JOIN containers c on c.container_id=o.container_id > LEFT JOIN profiles p on o.created_by=p.user_id AND > c.org_id=p.org_id > WHERE o.object_type in (2,3)" > > deltaQuery="select object_id from objects o where > o.object_type in (2,3) > AND o.date_modified > '${dataimporter.last_index_time}'" > > deltaImportQuery="SELECT o.object_id,o.object_name, > CAST(p.profile_id AS CHAR) AS owner_profile_id > FROM `objects` o > JOIN containers c on c.container_id=o.container_id > LEFT JOIN profiles p on o.created_by=p.user_id AND > c.org_id=p.org_id > WHERE o.object_id=${dataimporter.delta.object_id}"> > > <entity name="profile" pk="profile_id" > cacheImpl="SortedMapBackedCache" > where="profile_id=object.owner_profile_id" > > query="select CAST(profile_id AS CHAR) AS profile_id, > user_id as owner_id,first_name as owner_first_name, > last_name as owner_last_name,preferred_name as > owner_preferred_name > from profiles" > > deltaQuery="select profile_id,user_id from profiles where > date_modified > '${dataimporter.last_index_time}'" > > parentDeltaQuery="select object_id from objects where > created_by='${profile.owner_id}'"/> > </entity> > </document> > > > In the log, I'm seeing the "profile" deltaQuery run (which in testing is > correctly returning 0 records), and then the "object" deltaQuery runs, > which returns 1 record. Then it logs that the delta import is complete, > but it never calls any SQL related to the profile entity. > > One thing to note, if you're wondering... the CASTs are required because > it seems the SortedMapBackedCache wants Strings for keys. In the database, > my keys are MySQL BIGINTs. Without the casts, Java ClassCastExceptions are > thrown on import. > > Thanks, > Drew > > > > > > On Fri, Jun 13, 2014 at 3:37 PM, Gora Mohanty <g...@mimirtech.com> wrote: > >> On 14 June 2014 00:36, Drew Mazurek <d...@veoci.com> wrote: >> > >> > A little more info... removing the cache fixes everything. Are delta >> > queries incompatible with the cache? There isn't a lot of current >> > documentation on this, far as I can tell. >> >> Not quite au courant myself with 4.8.1 (need to install new Jave >> somewhere), >> but it would help to post your DIH configuration file. >> >> Regards, >> Gora >> > >