filere.conf: prefer to use json format

This commit is contained in:
Chris Lu
2020-11-15 21:48:17 -08:00
parent 83527a8f55
commit c0d279c54e
2 changed files with 20 additions and 5 deletions

View File

@@ -1,12 +1,14 @@
package filer package filer
import ( import (
"bytes"
"context" "context"
"io" "io"
"github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb" "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
"github.com/chrislusf/seaweedfs/weed/util" "github.com/chrislusf/seaweedfs/weed/util"
"github.com/golang/protobuf/jsonpb"
"github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"github.com/viant/ptrie" "github.com/viant/ptrie"
) )
@@ -53,10 +55,16 @@ func (fc *FilerConf) loadFromChunks(filer *Filer, chunks []*filer_pb.FileChunk)
func (fc *FilerConf) LoadFromBytes(data []byte) (err error) { func (fc *FilerConf) LoadFromBytes(data []byte) (err error) {
conf := &filer_pb.FilerConf{} conf := &filer_pb.FilerConf{}
err = proto.UnmarshalText(string(data), conf)
if err != nil { if err := jsonpb.Unmarshal(bytes.NewReader(data), conf); err != nil {
glog.Errorf("unable to parse filer conf: %v", err)
// this is not recoverable err = proto.UnmarshalText(string(data), conf)
if err != nil {
glog.Errorf("unable to parse filer conf: %v", err)
// this is not recoverable
return nil
}
return nil return nil
} }
@@ -121,5 +129,11 @@ func (fc *FilerConf) ToProto() *filer_pb.FilerConf {
} }
func (fc *FilerConf) ToText(writer io.Writer) error { func (fc *FilerConf) ToText(writer io.Writer) error {
return proto.MarshalText(writer, fc.ToProto())
m := jsonpb.Marshaler{
EmitDefaults: false,
Indent: " ",
}
return m.Marshal(writer, fc.ToProto())
} }

View File

@@ -99,6 +99,7 @@ func (c *commandFsConfigure) Do(args []string, commandEnv *CommandEnv, writer io
fc.ToText(&buf) fc.ToText(&buf)
fmt.Fprintf(writer, string(buf.Bytes())) fmt.Fprintf(writer, string(buf.Bytes()))
fmt.Fprintln(writer)
if *apply { if *apply {