You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@manifoldcf.apache.org by "Karl Wright (Jira)" <ji...@apache.org> on 2020/01/25 02:04:00 UTC

[jira] [Updated] (CONNECTORS-1521) Documentum Connector users ManifoldCF's local time in queries constraints against the Documentum server without reference to time zones

     [ https://issues.apache.org/jira/browse/CONNECTORS-1521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Wright updated CONNECTORS-1521:
------------------------------------
    Fix Version/s:     (was: ManifoldCF 2.15)
                   ManifoldCF next

> Documentum Connector users ManifoldCF's local time in queries constraints against the Documentum server without reference to time zones
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CONNECTORS-1521
>                 URL: https://issues.apache.org/jira/browse/CONNECTORS-1521
>             Project: ManifoldCF
>          Issue Type: Bug
>          Components: Documentum connector
>    Affects Versions: ManifoldCF 2.10
>            Reporter: James Thomas
>            Assignee: Karl Wright
>            Priority: Major
>             Fix For: ManifoldCF next
>
>
> I find that the time/date constraints in queries to the Documentum server are based on the "raw" local time of the ManifoldCF server but appear to take no account of the time zones of the two servers.
> This can lead to recently modified files not being transferred to the output repository when you would naturally expect them to be. I'd like the times to be aligned, perhaps by including time zone in the query. In particular, is there a way to use UTC perhaps?
> Here's an example ...
>  * create a folder in Documentum
>  * set up a job to point at the folder and output to the file system
>  * put two documents into a folder in Documentum
>  * Select them, right click and export as CSV (to show the timestamps):
> {noformat}
> 1.png,48489.0,Portable Network Graphics,8/7/2018 9:04 AM,
> 2.png,28620.0,Portable Network Graphics,8/7/2018 9:04 AM,,{noformat}
> Check the local time on the ManifoldCF server machine. Observe that it's reporting consistent time with the DM server:
> {noformat}
> [james@manifold]$ date
> Tue Aug  7 09:07:25 BST 2018{noformat}
> Start the job and look for the query to Documentum in the manifoldcf.log file (line break added for readability):
> {noformat}
> DEBUG 2018-08-07T08:07:47.297Z (Startup thread) - DCTM: About to execute query= (select for READ distinct i_chronicle_id from dm_document where r_modify_date >= date('01/01/1970 00:00:00','mm/dd/yyyy hh:mi:ss') and
> r_modify_date<=date('08/07/2018 08:07:34','mm/dd/yyyy hh:mi:ss') 
> AND (i_is_deleted=TRUE Or (i_is_deleted=FALSE AND a_full_text=TRUE AND r_content_size>0)) AND ( Folder('/Administrator/james', DESCEND) ))
> ^C{noformat}
> Notice that the latest date asked for is *before* the modification date of the files added to DM. (And is an hour out, see footnote.)
>   
>  See whether anything has been output by the File System connector. It hasn't:
> {noformat}
> [james@manifold]$ ls /bigdisc/source/PDFs/timezones/
> [james@manifold]$
> {noformat}
> Now:
>  * change the timezone on the ManifoldCF server machine
>  * restart the ManifoldCF server and the Documentum processes
>  * reseed the job
> Check the local time on the ManifoldCF server machine; it has changed:
> {noformat}
> [james@manifold]$ date
> Tue Aug  7 10:10:29 CEST 2018{noformat}
> Start the job again and notice that the query has changed by an hour, plus the few minutes it took to change the date etc (and is still an hour out, see footnote):
> {noformat}
> r_modify_date<=date('08/07/2018 09:11:02','mm/dd/yyyy hh:mi:ss') 
> {noformat}
> Observe that the range of dates now covers the timestamps on the DM data, and also that some data has now been transferred by the File System connector:
> {noformat}
> [james@manifold]$ ls /bigdisc/source/PDFs/timezones/http/mfserver\:8080/da/component/
> drl?versionLabel=CURRENT&objectId=090000018000e515
> drl?versionLabel=CURRENT&objectId=090000018000e516
> {noformat}
>  
>  
> [Footnote] It appears that something is trying to take account of Daylight Saving Time too.
> If I set the server date to a time outside of DST, the query is aligned with the current time:
> {noformat}
> [i2e@i2ehost manifold]$ date
>  Mon Oct 29 00:01:13 CET 2018
> r_modify_date<=date('10/29/2018 00:01:39','mm/dd/yyyy hh:mi:ss') 
> {noformat}
> But if I set the time inside DST, the time is an hour before:
> {noformat}
> [i2e@i2ehost manifold]$ date
>  Sat Oct 27 00:00:06 CEST 2018
> r_modify_date<=date('10/26/2018 23:00:26','mm/dd/yyyy hh:mi:ss') 
> {noformat}
> This is perhaps a Java issue rather than a logic issue in the connector? See e.g. [https://stackoverflow.com/questions/6392/java-time-zone-is-messed-up]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)