manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Thomas (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CONNECTORS-1521) Documentum Connector users ManifoldCF's local time in queries constraints against the Documentum server without reference to time zones
Date Tue, 07 Aug 2018 10:28:00 GMT
James Thomas created CONNECTORS-1521:
----------------------------------------

             Summary: 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


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
(v7.6.3#76005)

Mime
View raw message