2023年1月14日改訂
example.pb.go中の最後の2行のコメントが英語のままになっていますが「注:protobufは内部のフィールドとメソッドを生成しますが簡潔にするために省略しています。」に修正(訳出漏れ)(2022.8.4)Close()メソッドで、次のようにSyncの後にUnsafeUnmapの呼び出しを追加する(2022.9.11)
if err := i.mmap.Sync(gommap.MS_SYNC); err != nil {
return err
}
if err := i.mmap.UnsafeUnmap(); err != nil {
return err
}
os.MkdirTempの部分を、次のようにerrを検査するように修正する(2022.9.11)
dir, err := os.MkdirTemp("", "segment-test")
require.NoError(t, err)
defer os.RemoveAll(dir)
Readメソッドの最後の処理を次のように修正する(2022.9.11)
if s == nil {
return nil, fmt.Errorf("offset out of range: %d", off)
}
return s.Read(off)
error.goのimport文の内容を、次のように変更する(2022.9.11)import ( "fmt" "google.golang.org/genproto/googleapis/rpc/errdetails" codes "google.golang.org/grpc/codes" "google.golang.org/grpc/status" )
error.goのGRPCStatusメソッドの内の404が指定されている部分を、次のようにcodes.OutOfRangeに変更する(2022.9.11)
st := status.New(
codes.OutOfRange,
fmt.Sprintf("offset out of range: %d", e.Offset),
)
log.goを、次のように変更する(2022.9.11)
if s == nil {
return nil, fmt.Errorf("offset out of range: %d", off)
}
log.goを、次のように変更する(2022.9.11)
if s == nil {
return nil, api.ErrOffsetOutOfRange{Offset: off}
}
want := status.Code(api.ErrOffsetOutOfRange{}.GRPCStatus().Err())」を「want := codes.OutOfRange」に修正(2022.11.13)setup_test.go」を「server_test.go」に修正(2022.8.31)Server: true,」のtrueの位置を上の行に合わせる(2022.10.9)server_test.go中の「crtPath」を「certPath」に修正(2か所)(2022.10.9)newClient(crtPath,」を「newClient(certPath,」に修正(2022.10.9)Agent構造体の定義にあるshutdownsフィールドを削除(2022.11.13)
New関数でのshutdownsフィールドを初期化している次のコードを削除(2022.11.13)
shutdowns: make(chan struct{}),
setupServer()関数の最後の「return err」を「return nil」に修正(2022.11.13)Shutdown関数でのshutdownsフィールドをクローズしている次のコードを削除(2022.11.13)close(shutdowns)
want := status.Code(api.ErrOffsetOutOfRange{}.GRPCStatus().Err())」を「want := codes.OutOfRange」に修正(2022.11.13)return conn, err」を「return conn, nil」に修正(2022.12.4)distributed_test.goのimportからio/ioutilを削除(2022.10.23)distributed_test.go内の「ioutil.TempDir」を「os.MkdirTemp」に修正(2022.10.23)Agent構造体の定義にあるshutdownsフィールドを削除(2022.11.13)
setupServer()関数の最後の「return err」を「return nil」に修正(2022.11.13)want := status.Code(api.ErrOffsetOutOfRange{}.GRPCStatus().Err())」を「want := codes.OutOfRange」に修正(2022.11.13)
$ export MC_URL=https://raw.githubusercontent.com\
/GoogleCloudPlatform/metacontroller/master/manifests/
を、
$ export MC_URL=https://raw.githubusercontent.com\
/metacontroller/metacontroller/master/manifests/production
$ curl -L $MC_URL/metacontroller-crds-v1.yaml > \
metacontroller/templates/metacontroller-crds-v1.yaml
に修正します(2023.1.14) google.golang.org/grpcとしてv1.45.0のインストールが示されています。これをlatestにすると196頁のpicker_test.goがコンパイルできなくなります。コンパイルできるのは、v1.50.0までですので、注意してください(2022.12.03)