Skip to content

Regression: Entity stream closed in version 2.4 when Connection: close header used #1322

@Sovietaced

Description

@Sovietaced

I'm working on a project that heavily uses Restlet. Periodically we update our maven dependencies and I think I have discovered a regression introduced in Restlet 2.4.

After updating only Restlet from 2.3.12 to 2.4 we discovered that all of our POST request handlers were blowing up when trying to parse json from the entity stream since it was closed.

Caused by: java.io.IOException: Stream closed
	at java.io.PushbackInputStream.ensureOpen(PushbackInputStream.java:74)
	at java.io.PushbackInputStream.read(PushbackInputStream.java:166)
	at com.fasterxml.jackson.core.json.ByteSourceJsonBootstrapper.ensureLoaded(ByteSourceJsonBootstrapper.java:522)
	at com.fasterxml.jackson.core.json.ByteSourceJsonBootstrapper.detectEncoding(ByteSourceJsonBootstrapper.java:129)
	at com.fasterxml.jackson.core.json.ByteSourceJsonBootstrapper.constructParser(ByteSourceJsonBootstrapper.java:246)
	at com.fasterxml.jackson.core.JsonFactory._createParser(JsonFactory.java:1315)
	at com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:820)
	at org.projectfloodlight.db.service.internal.DataNodeJsonHandler.parseData(DataNodeJsonHandler.java:662)
	... 64 common frames omitted

After tooling around with curl I discovered that this issue was triggered whenever the Connection: close header was used in POST requests.

Thanks for your time.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions