Merge pull request #13 from 30x/xapid_883
[XAPID-883] Bug fix: Use UTC time instead of local for creating local…
diff --git a/buffering_manager.go b/buffering_manager.go
index 79d4259..d581135 100644
--- a/buffering_manager.go
+++ b/buffering_manager.go
@@ -106,7 +106,7 @@
// Save records to correct file based on what timestamp data is being collected for
func save(records axRecords) error {
- bucket, err := getBucketForTimestamp(time.Now(), records.Tenant)
+ bucket, err := getBucketForTimestamp(time.Now().UTC(), records.Tenant)
if err != nil {
return err
}
@@ -126,11 +126,11 @@
if exists {
return b, nil
} else {
- timestamp := time.Unix(ts, 0).Format(timestampLayout)
+ timestamp := time.Unix(ts, 0).UTC().Format(timestampLayout)
// endtimestamp of bucket = starttimestamp + collectionInterval
endTime := time.Unix(ts+int64(config.GetInt(analyticsCollectionInterval)), 0)
- endtimestamp := endTime.Format(timestampLayout)
+ endtimestamp := endTime.UTC().Format(timestampLayout)
dirName := tenant.Org + "~" + tenant.Env + "~" + timestamp
newPath := filepath.Join(localAnalyticsTempDir, dirName)
@@ -161,7 +161,7 @@
//Send event to close directory after endTime + 5
// seconds to make sure all buffers are flushed to file
- timer := time.After(endTime.Sub(time.Now()) + time.Second*5)
+ timer := time.After(endTime.Sub(time.Now().UTC()) + time.Second*5)
go func() {
<-timer
closeBucketEvent <- newBucket
diff --git a/buffering_manager_test.go b/buffering_manager_test.go
index c3c747e..42cd512 100644
--- a/buffering_manager_test.go
+++ b/buffering_manager_test.go
@@ -12,7 +12,7 @@
var _ = Describe("test getBucketForTimestamp()", func() {
It("should return new bucket or existing bucket if created previously", func() {
- t := time.Date(2017, 1, 20, 10, 24, 5, 0, time.Local)
+ t := time.Date(2017, 1, 20, 10, 24, 5, 0, time.UTC)
tenant := tenant{Org: "testorg", Env: "testenv", TenantId: "tenantid"}
bucket, err := getBucketForTimestamp(t, tenant)
@@ -25,7 +25,7 @@
Expect(fw.file.Name()).To(ContainSubstring("20170120102400.20170120102600"))
// Should return existing bucket if same interval timestamp is passed
- t2 := time.Date(2017, 1, 20, 10, 25, 5, 0, time.Local)
+ t2 := time.Date(2017, 1, 20, 10, 25, 5, 0, time.UTC)
bucket, err = getBucketForTimestamp(t2, tenant)
Expect(err).ShouldNot(HaveOccurred())
Expect(bucket.DirName).To(Equal("testorg~testenv~20170120102400"))