Skip to content

avatar column in user table is too small #1498

@brocaar

Description

@brocaar

Describe the bug

Currently the type is character varying(1024). I have seen errors in the logs where this length is not sufficient. Maybe it should just be text or at least double the size in case you want to put a limit on it?

See this log:

Feb 05 09:44:56 chirpstack-support answer[2147189]: 2026-02-05 09:44:56.921        DEBUG        controller/connector_controller.go:134        connector received: {ExternalID:XXXXXX DisplayName:XXXX XXXXXX Username:XXXXX XXXXX Email:XXXXXXX Avatar:https://lh3.googleusercontent.com/[1000+ chars string] MetaInfo:{
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "sub": "XXXX",
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "name": "XXXXXX",
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "given_name": "XXXXXX ",
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "family_name": "XXXX",
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "picture": "https://lh3.googleusercontent.com/a-/[1000+ chars string]",
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "email": "XXXXX",
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "email_verified": true,
Feb 05 09:44:56 chirpstack-support answer[2147189]:   "hd": "XXXXXXX"
Feb 05 09:44:56 chirpstack-support answer[2147189]: }}
Feb 05 09:44:57 chirpstack-support answer[2147189]: 2026-02-05 09:44:57.646        ERROR        controller/connector_controller.go:146        external login failed: code: 500, reason: base.database_error, message: , error: pq: value too long for type character varying(1024)
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/apache/answer/internal/repo/user/user_repo.go:66 github.com/apache/answer/internal/repo/user.(*userRepo).AddUser.func1
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/xorm.io/xorm/engine.go:1423 xorm.io/xorm.(*Engine).Transaction
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/apache/answer/internal/repo/user/user_repo.go:54 github.com/apache/answer/internal/repo/user.(*userRepo).AddUser
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/apache/answer/internal/service/user_external_login/user_external_login_service.go:209 github.com/apache/answer/internal/service/user_external_login.(*UserExternalLoginService).registerNewUser
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/apache/answer/internal/service/user_external_login/user_external_login_service.go:156 github.com/apache/answer/internal/service/user_external_login.(*UserExternalLoginService).ExternalLogin
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/apache/answer/internal/controller/connector_controller.go:144 github.com/apache/answer/internal/controller.(*ConnectorController).ConnectorRedirectDispatcher.(*ConnectorController).ConnectorRedirect.func2
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/apache/answer/internal/controller/connector_controller.go:97 github.com/apache/answer/internal/controller.(*ConnectorController).ConnectorRedirectDispatcher
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/gin-gonic/gin/context.go:185 github.com/gin-gonic/gin.(*Context).Next
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/anargu/gin-brotli/gin_brotli.go:71 github.com/apache/answer/internal/base/server.NewHTTPServer.Brotli.func3
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/gin-gonic/gin/context.go:185 github.com/gin-gonic/gin.(*Context).Next
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/gin-gonic/gin/gin.go:633 github.com/gin-gonic/gin.(*Engine).handleHTTPRequest
Feb 05 09:44:57 chirpstack-support answer[2147189]: /apache-answer-2.0.0-bin-linux-amd64/answer_build3005906725/vendor/github.com/gin-gonic/gin/gin.go:589 github.com/gin-gonic/gin.(*Engine).ServeHTTP
Feb 05 09:44:57 chirpstack-support answer[2147189]: /nix/store/4wc5q32wgrhac7vb4da1zclhvw7r01wx-go-1.25.5/share/go/src/net/http/server.go:3340 net/http.serverHandler.ServeHTTP
Feb 05 09:44:57 chirpstack-support answer[2147189]: /nix/store/4wc5q32wgrhac7vb4da1zclhvw7r01wx-go-1.25.5/share/go/src/net/http/server.go:2109 net/http.(*conn).serve
Feb 05 09:44:57 chirpstack-support answer[2147189]: /nix/store/4wc5q32wgrhac7vb4da1zclhvw7r01wx-go-1.25.5/share/go/src/runtime/asm_amd64.s:1693 runtime.goexit

This happens rarely and I can not reproduce it myself, but seems that there are cases where the picture / avatar URL is longer than can be stored in the database column. Maybe a text type would be better?

The exact picture URL has a length of 1127 chars and it is a valid URL. I believe this URL is received through the Google login user claims, I assume in this case the user is simply unable to login with his / her Google account because of this.

Platform

  • Version: v2.0.0

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions