Skip to content

Commit 7bdb842

Browse files
authored
Merge pull request #602 from redHJ/rawdata
1. close reader 2. raw data with mock meta
2 parents c36c8b7 + 0889b6b commit 7bdb842

File tree

3 files changed

+29
-9
lines changed

3 files changed

+29
-9
lines changed

mgr/dataflow.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ import (
44
"errors"
55
"fmt"
66
"io"
7+
"os"
8+
"path"
9+
"strconv"
710
"strings"
811
"time"
912

1013
"github.com/json-iterator/go"
14+
15+
"github.com/qiniu/log"
1116
"github.com/qiniu/pandora-go-sdk/base/reqerr"
1217

1318
"github.com/qiniu/logkit/conf"
@@ -20,19 +25,31 @@ import (
2025
. "github.com/qiniu/logkit/utils/models"
2126
)
2227

23-
const DefaultTryTimes = 3
28+
const (
29+
DefaultTryTimes = 3
30+
MetaTmp = "meta_tmp/"
31+
)
2432

2533
// RawData 从 reader 模块中根据 type 获取字符串形式的样例日志
2634
func RawData(readerConfig conf.MapConf) (string, error) {
2735
if readerConfig == nil {
2836
return "", fmt.Errorf("reader config cannot be empty")
2937
}
3038

39+
runnerName, _ := readerConfig.GetString(GlobalKeyName)
40+
configMetaPath := runnerName + "_" + Hash(strconv.FormatInt(time.Now().Unix(), 10))
41+
metaPath := path.Join(MetaTmp, configMetaPath)
42+
log.Debugf("Runner[%v] Using %s as default metaPath", runnerName, metaPath)
43+
readerConfig[reader.KeyMetaPath] = metaPath
44+
3145
rd, err := reader.NewReader(readerConfig, true)
3246
if err != nil {
3347
return "", err
3448
}
35-
defer rd.Close()
49+
defer func() {
50+
rd.Close()
51+
os.RemoveAll(metaPath)
52+
}()
3653

3754
var rawData string
3855

mgr/runner.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,16 +232,16 @@ func NewLogExportRunner(rc RunnerConfig, cleanChan chan<- cleaner.CleanSignal, r
232232
if err != nil {
233233
return nil, err
234234
}
235+
defer func() {
236+
if err != nil && rd != nil {
237+
rd.Close()
238+
}
239+
}()
235240
if len(rc.CleanerConfig) > 0 {
236241
rd, err = rr.NewReaderWithMeta(rc.ReaderConfig, meta, false)
237242
if err != nil {
238243
return nil, err
239244
}
240-
defer func() {
241-
if err != nil {
242-
rd.Close()
243-
}
244-
}()
245245
cl, err = cleaner.NewCleaner(rc.CleanerConfig, meta, cleanChan, meta.LogPath())
246246
if err != nil {
247247
return nil, err

reader/reader.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,12 +265,15 @@ func (reg *Registry) NewReaderWithMeta(conf conf.MapConf, meta *Meta, errDirectR
265265

266266
reader, err = constructor(meta, conf)
267267
if err != nil {
268-
return
268+
return nil, err
269269
}
270270
if headPattern != "" {
271271
err = reader.SetMode(ReadModeHeadPatternString, headPattern)
272+
if err != nil {
273+
return nil, err
274+
}
272275
}
273-
return
276+
return reader, nil
274277
}
275278

276279
func NewFileDirReader(meta *Meta, conf conf.MapConf) (reader Reader, err error) {

0 commit comments

Comments
 (0)