OK, I found at least one problem that causes 412 errors. When you PATCH a representation you get back 209 ("Content Returned") with a new representation. The http_etag in this representation is the random ETag that's sent on a subsequent PATCH and then you get 412.
---
PATCH /+bug/353805: Sending If-Match with http_etag "84bb970299f2ae35a4aad2d1d71cba62392dacf3"
209 Content Returned: New representation has http_etag "53a61af57b930f89814823ebedaaa3e48679a6bd"
---
PATCH /+bug/353805: Sending If-Match with http_etag "53a61af57b930f89814823ebedaaa3e48679a6bd"
412 Precondition Failed
---
The http_etag here is probably generated from some sort of transitional state that's neither the original state nor the final state. I'm looking into it now.
OK, I found at least one problem that causes 412 errors. When you PATCH a representation you get back 209 ("Content Returned") with a new representation. The http_etag in this representation is the random ETag that's sent on a subsequent PATCH and then you get 412.
--- 35a4aad2d1d71cb a62392dacf3" 89814823ebedaaa 3e48679a6bd" 89814823ebedaaa 3e48679a6bd"
PATCH /+bug/353805: Sending If-Match with http_etag "84bb970299f2ae
209 Content Returned: New representation has http_etag "53a61af57b930f
---
PATCH /+bug/353805: Sending If-Match with http_etag "53a61af57b930f
412 Precondition Failed
---
The http_etag here is probably generated from some sort of transitional state that's neither the original state nor the final state. I'm looking into it now.