googleapis / googleapis/google-cloud-swift

[storage]: error deserializing `GoogleLongRunning.Operation`

Open
#594 0 comments 0 reactions 1 assignee Claimed by @nolanleastin View on GitHub
api: storage
Dominant language
Swift
Stars
26
Forks
10
Avg merge
12h 57m
Merged PRs (30d)
213

Description

While trying to write the `renameFolder()` sample I got this output:

```
running renameFolder() sample
DEBUG DEBUG converting Operation from: StorageControlProtos.Google_Longrunning_Operation:
name: "projects/_/buckets/swift-sdk-testing-ga8f8azhoey8k9evxc7v8bgv18nx8a0g9zvd77zjc9mwv/operations/CiQ0MmIwMDRkYi1jM2EwLTQ0MjMtODcwMi0wZGQ3YzEwNjEzNGIQAQ"
metadata {
type_url: "type.googleapis.com/google.storage.control.v2.RenameFolderMetadata"
value: "\n;\n\f\b\260\324\334\324\006\020\240\237\353\200\002\022\f\b\260\324\334\324\006\020\240\237\353\200\002\032\f\b\260\324\334\324\006\020\240\237\353\200\002\"\rrename-folder0d\022\022example-folder-id/\032\022renamed-folder-id/"
}
done: true
response {
type_url: "type.googleapis.com/google.storage.control.v2.Folder"
value: "\nmprojects/_/buckets/swift-sdk-testing-ga8f8azhoey8k9evxc7v8bgv18nx8a0g9zvd77zjc9mwv/folders/renamed-folder-id/\030\001\"\f\b\257\324\334\324\006\020\230\327\310\214\003*\v\b\260\324\334\324\006\020\256\222\202|"
}

DEBUG DEBUG cannot convert Operation.metadata field: anyTranscodeFailure
DEBUG DEBUG error in renameFolder()/Operation: anyTranscodeFailure
✘ Test runFolderSamples() recorded an issue at Driver.swift:39:4: Caught error: anyTranscodeFailure
✘ Test runFolderSamples() failed after 3.443 seconds with 1 issue.
✘ Suite StorageSamplesDriver failed after 3.444 seconds with 1 issue.
✘ Test run with 1 test in 1 suite failed after 3.444 seconds with 1 issue.
```

That includes some debugging changes:

```
diff --git a/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/Convert/GoogleLongRunning/Operation+Convert.swift b/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/Convert/GoogleLongRunning/Operation+Convert.swift
index 31d42727a..4bd0a7d32 100644
--- a/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/Convert/GoogleLongRunning/Operation+Convert.swift
+++ b/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/Convert/GoogleLongRunning/Operation+Convert.swift
@@ -27,16 +27,32 @@ extension GoogleLongRunning.Operation {
internal typealias ProtoType = StorageControlProtos.Google_Longrunning_Operation

internal init(proto: ProtoType) throws {
+ print("DEBUG DEBUG converting Operation from: \(proto)")
self.init()
self.name = proto.name
- self.metadata = proto.hasMetadata ? try .init(proto: proto.metadata) : nil
+ do {
+ self.metadata = proto.hasMetadata ? try .init(proto: proto.metadata) : nil
+ } catch {
+ print("DEBUG DEBUG cannot convert Operation.metadata field: \(error)")
+ throw error
+ }
self.done = proto.done
if let oneof = proto.result {
switch oneof {
case .error(let value):
- self.result = .error(try .init(proto: value))
+ do {
+ self.result = .error(try .init(proto: value))
+ } catch {
+ print("DEBUG DEBUG cannot convert Operation.error field: \(error)")
+ throw error
+ }
case .response(let value):
- self.result = .response(try .init(proto: value))
+ do {
+ self.result = .response(try .init(proto: value))
+ } catch {
+ print("DEBUG DEBUG cannot convert Operation.response field: \(error)")
+ throw error
+ }
}
}
}
diff --git a/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/StorageControl+Transport.swift b/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/StorageControl+Transport.swift
index ebcb17050..d55df750f 100644
--- a/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/StorageControl+Transport.swift
+++ b/packages/swift-google-cloud-storage/Sources/GoogleCloudStorage/generated/StorageControl/StorageControl+Transport.swift
@@ -177,7 +177,12 @@ extension Clients {
clientHeader: Clients.clientHeader,
routingParams: routingParams
)
- return try GoogleLongRunning.Operation(proto: protoResponse)
+ do {
+ return try GoogleLongRunning.Operation(proto: protoResponse)
+ } catch {
+ print("DEBUG DEBUG error in renameFolder()/Operation: \(error)")
+ throw error
+ }
}

public func deleteFolderRecursive(
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.