func init() {
	tsdb.RegisterEngine("tsm1", NewEngine)
}
go:generate tmpl -data=@iterator.gen.go.tmpldata iterator.gen.go.tmpl
go:generate tmpl -data=@iterator.gen.go.tmpldata batch_cursor.gen.go.tmpl
go:generate tmpl -data=@file_store.gen.go.tmpldata file_store.gen.go.tmpl
go:generate tmpl -data=@encoding.gen.go.tmpldata encoding.gen.go.tmpl
go:generate tmpl -data=@compact.gen.go.tmpldata compact.gen.go.tmpl
package tsm1  
import (
	"archive/tar"
	"bytes"
	"context"
	"errors"
	"fmt"
	"io"
	"io/ioutil"
	"math"
	"os"
	"path/filepath"
	"regexp"
	"runtime"
	"strconv"
	"strings"
	"sync"
	"sync/atomic"
	"time"
	"github.com/influxdata/influxdb/logger"
	"github.com/influxdata/influxdb/models"
	"github.com/influxdata/influxdb/pkg/bytesutil"
	"github.com/influxdata/influxdb/pkg/estimator"
	"github.com/influxdata/influxdb/pkg/limiter"
	"github.com/influxdata/influxdb/pkg/metrics"
	intar "github.com/influxdata/influxdb/pkg/tar"
	"github.com/influxdata/influxdb/pkg/tracing"
	"github.com/influxdata/influxdb/query"
	"github.com/influxdata/influxdb/tsdb"
	_ "github.com/influxdata/influxdb/tsdb/index"
	"github.com/influxdata/influxdb/tsdb/index/inmem"
	"github.com/influxdata/influxdb/tsdb/index/tsi1"
	"github.com/influxdata/influxql"
	"go.uber.org/zap"
)