That problem is a little bit surprising because the Go code generator is
implemented as a plugin in a separate repo, and shouldn't therefore be
affected by a protoc upgrade. Did you upgrade your Go protoc plugin at the
same time?

As a side note, sorry for the confusion but we decided not to increment the
major version from 3 to 4 yet. We published artifacts for 4.0.0-rc1 and
4.0.0-rc2 but there will not be a 4.0 release in the immediate future. We
are going to release 3.13.0 soon instead.

On Sat, Aug 8, 2020 at 3:31 AM rajegun <[email protected]> wrote:

> Hello there,
>
> We are currently using protoc 3.6.1 and planning to migrate to 4.x
>
> During our POC on this migration we found timestamp returned using our
> existing code has differed from the format we were using, digging further
> we dont know what exactly caused the problem.
>
> Timeformat received with 3.6.1 => "time": "2020-07-31T07:13:07.396733914Z",
>
> Timeformat received with 4.0.0 => "time": {
>     "seconds": "1596871176",
>     "nanos": 363018229
>   },
>
> Code:
>
> *partner.proto*
> *------------------------------------------------*
> message ResponsePartnerEmployeeList {
>     ......
>     google.protobuf.Timestamp time = 3;
> }
>
> *partner*.*pg.go file (protoc 3.6.1 version created)*
> -----------------------------------------------
> timestamp "github.com/golang/protobuf/ptypes/timestamp"
>
> type ResponseList struct {
>     .....
>     Time                 *timestamp.Timestamp
> `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"`
>
>     XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
>     XXX_unrecognized     []byte                   `json:"-"`
>     XXX_sizecache        int32                    `json:"-"`
> }
>
> *partner*.*pg.go file (protoc 4.0.0 version created)*
> -----------------------------------------------
> timestamp "github.com/golang/protobuf/ptypes/timestamp"
>
> type ResponseList struct {
>     state protoimpl.MessageState
>     sizeCache protoimpl.SizeCache
>     unknownFields protoimpl.UnknownFields
>
>     .......
>     Time *timestamp.Timestamp `protobuf:"bytes,3,opt,name=time,proto3"
> json:"time,omitempty"`
> }
> -----------------------------------------------
>
>
> *utils.go file (time data is updated here to the structure)*
>
> import pb "github.com/xxxxx/proto/partner"
> import "github.com/golang/protobuf/ptypes"
>
> func GenerateResponse(errorCode Error, mesg ...string) *pb.ResponseList {
> *time, _ := ptypes.TimestampProto(time.Now())*
>
>     return &pb.ResponseList{
>         ....
>         ....
>         ....
>     *    Time: time,*
>     }
>
> ---------------------
>
> Problem in the time format received, this affects our application which
> expects the data in 3.6.1 format
>
> Timeformat received with *3.6.1 => "time":
> "2020-07-31T07:13:07.396733914Z",*
>
> Timeformat received with
>
>
> * 4.0.0 => "time": {    "seconds": "1596871176",    "nanos": 363018229  },*
>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/protobuf/3a10f37f-0fee-48c8-bced-05d45af4a5b9o%40googlegroups.com
> <https://groups.google.com/d/msgid/protobuf/3a10f37f-0fee-48c8-bced-05d45af4a5b9o%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/CADqAXr4Fe8P07ZsaWg%2BouXJ9D48Fn8xH6ASNZp-wwzGX0tZ0%2BA%40mail.gmail.com.

Reply via email to