Skip to content

Commit 180976c

Browse files
committed
Handle nil body from store in queue processing
Store.get returns nil when the key doesn't exist. This nil was passed to Tar.unpack which called :zlib.safeInflate with a non-iodata term, causing an ArgumentError.
1 parent 7816d10 commit 180976c

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

lib/hexdocs/queue.ex

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,16 @@ defmodule Hexdocs.Queue do
106106

107107
body = Hexdocs.Store.get(:repo_bucket, key)
108108

109-
case type do
110-
:upload ->
111-
process_upload(key, repository, package, version, body, start)
109+
if body do
110+
case type do
111+
:upload ->
112+
process_upload(key, repository, package, version, body, start)
112113

113-
:search ->
114-
process_search(key, repository, package, version, body, start)
114+
:search ->
115+
process_search(key, repository, package, version, body, start)
116+
end
117+
else
118+
Logger.error("#{log_prefix} #{key}: package not found in store")
115119
end
116120

117121
:error ->

0 commit comments

Comments
 (0)