[ https://issues.apache.org/jira/browse/KYLIN-2952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16212475#comment-16212475 ]
Billy Liu commented on KYLIN-2952: ---------------------------------- 1508601600000 is GMT: Saturday, October 21, 2017 4:00:00 PM, not 2017-10-22 > dynamic cube build for time(statTime and endTime) > ------------------------------------------------- > > Key: KYLIN-2952 > URL: https://issues.apache.org/jira/browse/KYLIN-2952 > Project: Kylin > Issue Type: Improvement > Components: REST Service > Affects Versions: v1.6.0 > Environment: linux > Reporter: wenxue lin > Assignee: Zhong,Jason > Priority: Minor > > ex => curl -X PUT -u "ADMIN:KYLIN" -H > "Content-Type:application/json;charset=utf-8" -d > '{"startTime":1508601600000,"endTime":1508688000000,"buildType":"BUILD"}' > http://host:port/kylin/api/cubes/bi_dispatch_waiting_service_cube/rebuild > desc : > rest api param is startTime:1508601600000(2017-10-22) and > endTime:1508688000000(2017-10-23), but the actual time of building the cube > is 1 day ahead of schedule (actually 8 hours ahead of schedule) > =》【2017-10-21~2017-10-22】,But using kylinUI build without question, the > actual view kylin code, found that is because the kylin on the server side > source code for configuration of GMT rather than use the timezone of fixed > GMT + 8, and front-end UI will according to the configuration of the timezone > is transformed to the time of the page to add GMT + 8 time, then the back-end > to GMT + 8 time in into GMT time, so the kylinUI cube build time without > error, and using restAPI build cube time not making timezone 8 hours is not > accurate time difference problem。 > *for code:* > kylinProperties.js > this.getTimeZone = function () { > if (!this.timezone) { > this.timezone = this.getProperty("kylin.rest.timezone").trim(); > } > return this.timezone; > } > org.apache.kylin.cube.CubeSegment > public static String makeSegmentName(long startDate, long endDate, long > startOffset, long endOffset) { > if (startOffset != 0 || endOffset != 0) { > if (startOffset == 0 && (endOffset == 0 || endOffset == > Long.MAX_VALUE)) { > return "FULL_BUILD"; > } > return startOffset + "_" + endOffset; > } > // using time > SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); > dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); > return dateFormat.format(startDate) + "_" + dateFormat.format(endDate); > } > org.apache.kylin.common.util.DateFormat: > public static FastDateFormat getDateFormat(String datePattern) { > FastDateFormat r = formatMap.get(datePattern); > if (r == null) { > r = FastDateFormat.getInstance(datePattern, > TimeZone.getTimeZone("GMT")); // NOTE: this must be GMT to calculate epoch > date correctly > formatMap.put(datePattern, r); > } > return r; > } -- This message was sent by Atlassian JIRA (v6.4.14#64029)