JsonTemplateLayoutConcurrentEncodeTest checks whether the underlying ByteBufferDestination has been concurrently accessed or not. When I modify JsonTemplateLayout to prefer StringBuilderEncoder (which uses thread-locals) rather than LockingStringBuilderEncoder, the test fails. Yet, almost every StringBuilder-based layout (e.g., PatternLayout, GelfLayout) uses StringBuilderEncoder. Would anybody mind explaining to me what is wrong with JsonTemplateLayoutConcurrentEncodeTest, please?
