Monorepo for Tangled
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

appview: add more logs to debug knot xrpc failure

Signed-off-by: Seongmin Lee <git@boltless.me>

+58 -52
+22 -18
appview/pulls/pulls.go
··· 338 338 patch = mergeable.CombinedPatch() 339 339 } 340 340 341 - resp, xe := tangled.RepoMergeCheck( 341 + resp, err := tangled.RepoMergeCheck( 342 342 r.Context(), 343 343 &xrpcc, 344 344 &tangled.RepoMergeCheck_Input{ ··· 348 348 Patch: patch, 349 349 }, 350 350 ) 351 - if err := xrpcclient.HandleXrpcErr(xe); err != nil { 352 - s.logger.Error("failed to check for mergeability", "err", err) 351 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 352 + s.logger.Error("failed to check for mergeability", "xrpcerr", xrpcerr, "err", err, "pull_id", pull.PullId, "target_branch", pull.TargetBranch) 353 353 return types.MergeCheckResponse{ 354 - Error: fmt.Sprintf("failed to check merge status: %s", err.Error()), 354 + Error: fmt.Sprintf("failed to check merge status: %s", xrpcerr.Error()), 355 355 } 356 356 } 357 357 ··· 416 416 xrpcc := &indigoxrpc.Client{Host: s.config.KnotMirror.Url} 417 417 resp, err := tangled.GitTempGetBranch(r.Context(), xrpcc, branch, repo.RepoAt().String()) 418 418 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 419 + s.logger.Error("failed to get branch", "xrpcerr", xrpcerr, "err", err) 419 420 return nil 420 421 } 421 422 ··· 441 442 branchResp, err := tangled.GitTempGetBranch(r.Context(), xrpcc, pull.PullSource.Branch, sourceRepo.String()) 442 443 if err != nil { 443 444 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 444 - s.logger.Error("failed to call XRPC repo.branches", "err", xrpcerr) 445 + s.logger.Error("failed to call XRPC repo.branches", "xrpcerr", xrpcerr, "err", err, "pull_id", pull.PullId, "branch", pull.PullSource.Branch) 445 446 return pages.Unknown 446 447 } 447 448 s.logger.Error("failed to reach knotserver", "err", err) ··· 881 882 xrpcBytes, err := tangled.GitTempListBranches(r.Context(), xrpcc, "", 0, f.RepoAt().String()) 882 883 if err != nil { 883 884 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 884 - s.logger.Error("failed to call XRPC repo.branches", "err", xrpcerr) 885 + s.logger.Error("failed to call XRPC repo.branches", "xrpcerr", xrpcerr, "err", err) 885 886 s.pages.Error503(w) 886 887 return 887 888 } ··· 1046 1047 xrpcBytes, err := tangled.RepoCompare(r.Context(), xrpcc, repo.RepoIdentifier(), targetBranch, sourceBranch) 1047 1048 if err != nil { 1048 1049 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1049 - s.logger.Error("failed to call XRPC repo.compare", "err", xrpcerr) 1050 + s.logger.Error("failed to call XRPC repo.compare", "xrpcerr", xrpcerr, "err", err) 1050 1051 s.pages.Notice(w, "pull", "Failed to create pull request. Try again later.") 1051 1052 return 1052 1053 } ··· 1123 1124 Repo: fork.RepoAt().String(), 1124 1125 }, 1125 1126 ) 1126 - if err := xrpcclient.HandleXrpcErr(err); err != nil { 1127 - s.pages.Notice(w, "pull", err.Error()) 1127 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1128 + s.logger.Error("failed to set hidden ref", "xrpcerr", xrpcerr, "err", err) 1129 + s.pages.Notice(w, "pull", xrpcerr.Error()) 1128 1130 return 1129 1131 } 1130 1132 ··· 1155 1157 forkXrpcBytes, err := tangled.RepoCompare(r.Context(), forkXrpcc, fork.RepoIdentifier(), hiddenRef, sourceBranch) 1156 1158 if err != nil { 1157 1159 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1158 - s.logger.Error("failed to call XRPC repo.compare for fork", "err", xrpcerr) 1160 + s.logger.Error("failed to call XRPC repo.compare for fork", "xrpcerr", xrpcerr, "err", err, "hidden_ref", hiddenRef) 1159 1161 s.pages.Notice(w, "pull", "Failed to create pull request. Try again later.") 1160 1162 return 1161 1163 } ··· 1577 1579 sourceXrpcBytes, err := tangled.GitTempListBranches(r.Context(), xrpcc, "", 0, repo.RepoAt().String()) 1578 1580 if err != nil { 1579 1581 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1580 - s.logger.Error("failed to call XRPC repo.branches for source", "err", xrpcerr) 1582 + s.logger.Error("failed to call XRPC repo.branches for source", "xrpcerr", xrpcerr, "err", err) 1581 1583 s.pages.Error503(w) 1582 1584 return 1583 1585 } ··· 1596 1598 targetXrpcBytes, err := tangled.GitTempListBranches(r.Context(), xrpcc, "", 0, f.RepoAt().String()) 1597 1599 if err != nil { 1598 1600 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1599 - s.logger.Error("failed to call XRPC repo.branches for target", "err", xrpcerr) 1601 + s.logger.Error("failed to call XRPC repo.branches for source", "xrpcerr", xrpcerr, "err", err) 1600 1602 s.pages.Error503(w) 1601 1603 return 1602 1604 } ··· 1722 1724 xrpcBytes, err := tangled.RepoCompare(r.Context(), xrpcc, f.RepoIdentifier(), pull.TargetBranch, pull.PullSource.Branch) 1723 1725 if err != nil { 1724 1726 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1725 - s.logger.Error("failed to call XRPC repo.compare", "err", xrpcerr) 1727 + s.logger.Error("failed to call XRPC repo.compare", "xrpcerr", xrpcerr, "err", err, "source_branch", pull.PullSource.Branch) 1726 1728 s.pages.Notice(w, "resubmit-error", "Failed to create pull request. Try again later.") 1727 1729 return 1728 1730 } ··· 1795 1797 Repo: forkRepo.RepoAt().String(), 1796 1798 }, 1797 1799 ) 1798 - if err := xrpcclient.HandleXrpcErr(err); err != nil { 1799 - s.pages.Notice(w, "resubmit-error", err.Error()) 1800 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1801 + s.logger.Error("failed to set hidden ref", "xrpcerr", xrpcerr, "err", err) 1802 + s.pages.Notice(w, "resubmit-error", xrpcerr.Error()) 1800 1803 return 1801 1804 } 1802 1805 if !resp.Success { ··· 1815 1818 forkXrpcBytes, err := tangled.RepoCompare(r.Context(), &indigoxrpc.Client{Host: forkHost}, forkRepo.RepoIdentifier(), hiddenRef, pull.PullSource.Branch) 1816 1819 if err != nil { 1817 1820 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1818 - s.logger.Error("failed to call XRPC repo.compare for fork", "err", xrpcerr) 1821 + s.logger.Error("failed to call XRPC repo.compare for fork", "xrpcerr", xrpcerr, "err", err, "hidden_ref", hiddenRef, "source_branch", pull.PullSource.Branch) 1819 1822 s.pages.Notice(w, "resubmit-error", "Failed to create pull request. Try again later.") 1820 1823 return 1821 1824 } ··· 2233 2236 } 2234 2237 2235 2238 err = tangled.RepoMerge(r.Context(), client, mergeInput) 2236 - if err := xrpcclient.HandleXrpcErr(err); err != nil { 2237 - s.pages.Notice(w, "pull-merge-error", err.Error()) 2239 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 2240 + s.logger.Error("failed to merge", "xrpcerr", xrpcerr, "err", err) 2241 + s.pages.Notice(w, "pull-merge-error", xrpcerr.Error()) 2238 2242 return 2239 2243 } 2240 2244
+1 -1
appview/repo/artifact.go
··· 312 312 xrpcBytes, err := tangled.GitTempListTags(ctx, xrpcc, "", 0, f.RepoAt().String()) 313 313 if err != nil { 314 314 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 315 - l.Error("failed to call XRPC repo.tags", "err", xrpcerr) 315 + l.Error("failed to call XRPC repo.tags", "xrpcerr", xrpcerr, "err", err) 316 316 return nil, xrpcerr 317 317 } 318 318 l.Error("failed to reach knotserver", "err", err)
+1 -1
appview/repo/blob.go
··· 61 61 } 62 62 resp, err := tangled.RepoBlob(r.Context(), xrpcc, filePath, false, ref, f.RepoIdentifier()) 63 63 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 64 - l.Error("failed to call XRPC repo.blob", "err", xrpcerr) 64 + l.Error("failed to call XRPC repo.blob", "xrpcerr", xrpcerr, "err", err) 65 65 rp.pages.Error503(w) 66 66 return 67 67 }
+6 -8
appview/repo/branches.go
··· 52 52 return 53 53 } 54 54 noticeId := "delete-branch-error" 55 - fail := func(msg string, err error) { 56 - l.Error(msg, "err", err) 57 - rp.pages.Notice(w, noticeId, msg) 58 - } 59 55 branch := r.FormValue("branch") 60 56 if branch == "" { 61 - fail("No branch provided.", nil) 57 + rp.pages.Notice(w, noticeId, "No branch provided.") 62 58 return 63 59 } 64 60 client, err := rp.oauth.ServiceClient( ··· 68 64 oauth.WithDev(rp.config.Core.Dev), 69 65 ) 70 66 if err != nil { 71 - fail("Failed to connect to knotserver", nil) 67 + l.Warn("Failed to connect to knotserver", "err", err) 68 + rp.pages.Notice(w, noticeId, "Failed to connect to knotserver") 72 69 return 73 70 } 74 71 err = tangled.RepoDeleteBranch( ··· 79 76 Repo: f.RepoAt().String(), 80 77 }, 81 78 ) 82 - if err := xrpcclient.HandleXrpcErr(err); err != nil { 83 - fail(fmt.Sprintf("Failed to delete branch: %s", err), err) 79 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 80 + l.Error("Faield to delete branch", "xrpcerr", xrpcerr, "err", err) 81 + rp.pages.Notice(w, noticeId, fmt.Sprintf("Failed to delete branch: %s", xrpcerr)) 84 82 return 85 83 } 86 84 l.Error("deleted branch from knot", "branch", branch, "repo", f.RepoAt())
+5 -5
appview/repo/compare.go
··· 31 31 32 32 branchBytes, err := tangled.GitTempListBranches(r.Context(), xrpcc, "", 0, f.RepoAt().String()) 33 33 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 34 - l.Error("failed to call XRPC repo.branches", "err", xrpcerr) 34 + l.Error("failed to call XRPC repo.branches", "xrpcerr", xrpcerr, "err", err) 35 35 rp.pages.Error503(w) 36 36 return 37 37 } ··· 68 68 69 69 tagBytes, err := tangled.GitTempListTags(r.Context(), xrpcc, "", 0, f.RepoAt().String()) 70 70 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 71 - l.Error("failed to call XRPC repo.tags", "err", xrpcerr) 71 + l.Error("failed to call XRPC repo.tags", "xrpcerr", xrpcerr, "err", err) 72 72 rp.pages.Error503(w) 73 73 return 74 74 } ··· 145 145 146 146 branchBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repoId) 147 147 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 148 - l.Error("failed to call XRPC repo.branches", "err", xrpcerr) 148 + l.Error("failed to call XRPC repo.branches", "xrpcerr", xrpcerr, "err", err) 149 149 rp.pages.Error503(w) 150 150 return 151 151 } ··· 159 159 160 160 tagBytes, err := tangled.RepoTags(r.Context(), xrpcc, "", 0, repoId) 161 161 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 162 - l.Error("failed to call XRPC repo.tags", "err", xrpcerr) 162 + l.Error("failed to call XRPC repo.tags", "xrpcerr", xrpcerr, "err", err) 163 163 rp.pages.Error503(w) 164 164 return 165 165 } ··· 173 173 174 174 compareBytes, err := tangled.RepoCompare(r.Context(), xrpcc, repoId, base, head) 175 175 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 176 - l.Error("failed to call XRPC repo.compare", "err", xrpcerr) 176 + l.Error("failed to call XRPC repo.compare", "xrpcerr", xrpcerr, "err", err) 177 177 rp.pages.Error503(w) 178 178 return 179 179 }
+2 -2
appview/repo/log.go
··· 57 57 58 58 xrpcBytes, err := tangled.RepoDiff(r.Context(), xrpcc, ref, f.RepoIdentifier()) 59 59 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 60 - l.Error("failed to call XRPC repo.diff", "err", xrpcerr) 60 + l.Error("failed to call XRPC repo.diff", "xrpcerr", xrpcerr, "err", err) 61 61 rp.pages.Error503(w) 62 62 return 63 63 } ··· 227 227 228 228 xrpcBytes, err := tangled.RepoDiff(r.Context(), xrpcc, ref, f.RepoIdentifier()) 229 229 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 230 - l.Error("failed to call XRPC repo.diff", "err", xrpcerr) 230 + l.Error("failed to call XRPC repo.diff", "xrpcerr", xrpcerr, "err", err) 231 231 rp.pages.Error503(w) 232 232 return 233 233 }
+9 -6
appview/repo/repo.go
··· 879 879 Rkey: f.Rkey, 880 880 }, 881 881 ) 882 - if err := xrpcclient.HandleXrpcErr(err); err != nil { 883 - rp.pages.Notice(w, noticeId, err.Error()) 882 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 883 + l.Error("failed to call XRPC repo.delete", "xrpcerr", xrpcerr, "err", err) 884 + rp.pages.Notice(w, noticeId, xrpcerr.Error()) 884 885 return 885 886 } 886 887 l.Info("deleted repo from knot") ··· 985 986 Branch: ref, 986 987 }, 987 988 ) 988 - if err := xrpcclient.HandleXrpcErr(err); err != nil { 989 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 990 + l.Error("failed to call XRPC repo.forkSync", "xrpcerr", xrpcerr, "err", err) 989 991 rp.pages.Notice(w, "repo", err.Error()) 990 992 return 991 993 } ··· 1092 1094 Name: forkName, 1093 1095 Source: &forkSourceUrl, 1094 1096 } 1095 - createResp, createErr := tangled.RepoCreate( 1097 + createResp, err := tangled.RepoCreate( 1096 1098 r.Context(), 1097 1099 client, 1098 1100 forkInput, 1099 1101 ) 1100 - if err := xrpcclient.HandleXrpcErr(createErr); err != nil { 1101 - rp.pages.Notice(w, "repo", err.Error()) 1102 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 1103 + l.Error("failed to call XRPC repo.create", "xrpcerr", xrpcerr, "err", err) 1104 + rp.pages.Notice(w, "repo", xrpcerr.Error()) 1102 1105 return 1103 1106 } 1104 1107
+6 -6
appview/repo/settings.go
··· 54 54 return 55 55 } 56 56 57 - xe := tangled.RepoSetDefaultBranch( 57 + err = tangled.RepoSetDefaultBranch( 58 58 r.Context(), 59 59 client, 60 60 &tangled.RepoSetDefaultBranch_Input{ ··· 62 62 DefaultBranch: branch, 63 63 }, 64 64 ) 65 - if err := xrpcclient.HandleXrpcErr(xe); err != nil { 66 - l.Error("xrpc failed", "err", xe) 67 - rp.pages.Notice(w, noticeId, err.Error()) 65 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 66 + l.Error("failed to call XRPC repo.setDefaultBranch", "xrpcerr", xrpcerr, "err", err) 67 + rp.pages.Notice(w, noticeId, xrpcerr.Error()) 68 68 return 69 69 } 70 70 ··· 200 200 repo := fmt.Sprintf("%s/%s", f.Did, f.Name) 201 201 xrpcBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repo) 202 202 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 203 - l.Error("failed to call XRPC repo.branches", "err", xrpcerr) 203 + l.Error("failed to call XRPC repo.branches", "xrpcerr", xrpcerr, "err", err) 204 204 rp.pages.Error503(w) 205 205 return 206 206 } ··· 385 385 xrpcBytes, err := tangled.GitTempListBranches(r.Context(), xrpcc, "", 0, f.RepoAt().String()) 386 386 var result types.RepoBranchesResponse 387 387 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 388 - l.Error("failed to call XRPC repo.branches", "err", xrpcerr) 388 + l.Error("failed to call XRPC git.listBranches", "xrpcerr", xrpcerr, "err", err) 389 389 } else if err := json.Unmarshal(xrpcBytes, &result); err != nil { 390 390 l.Error("failed to decode XRPC response", "err", err) 391 391 rp.pages.Error503(w)
+2 -1
appview/repo/tags.go
··· 90 90 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 91 91 // if we don't match an existing tag, and the tag we're trying 92 92 // to match is "latest", resolve to the most recent tag 93 + l.Info("failed to call XRPC git.getTag", "xrpcerr", xrpcerr, "err", err, "tag", tag) 93 94 if tag == "latest" { 94 95 tagsBytes, err := tangled.GitTempListTags(r.Context(), xrpcc, "", 1, f.RepoAt().String()) 95 96 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 96 - l.Error("failed to call XRPC repo.tags for latest", "err", xrpcerr) 97 + l.Error("failed to call XRPC git.ListTags for latest", "xrpcerr", xrpcerr, "err", err) 97 98 rp.pages.Error503(w) 98 99 return 99 100 }
+1 -1
appview/repo/tree.go
··· 37 37 xrpcc := &indigoxrpc.Client{Host: rp.config.KnotMirror.Url} 38 38 xrpcResp, err := tangled.GitTempGetTree(r.Context(), xrpcc, treePath, ref, f.RepoAt().String()) 39 39 if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 40 - l.Error("failed to call XRPC repo.tree", "err", xrpcerr) 40 + l.Error("failed to call XRPC repo.tree", "xrpcerr", xrpcerr, "err", err) 41 41 rp.pages.Error503(w) 42 42 return 43 43 }
+3 -3
appview/state/state.go
··· 478 478 Name: repoName, 479 479 DefaultBranch: &defaultBranch, 480 480 } 481 - createResp, xe := tangled.RepoCreate( 481 + createResp, err := tangled.RepoCreate( 482 482 r.Context(), 483 483 client, 484 484 input, 485 485 ) 486 - if err := xrpcclient.HandleXrpcErr(xe); err != nil { 487 - l.Error("xrpc error", "xe", xe) 486 + if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { 487 + l.Error("failed to call XRPC repo.create", "xrpcerr", xrpcerr, "err", err) 488 488 s.pages.Notice(w, "repo", err.Error()) 489 489 return 490 490 }