You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Status

Current stateIn voting

Discussion thread: here

Vote thread: here

JIRA:  Unable to render Jira issues macro, execution error.

           Unable to render Jira issues macro, execution error.

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

Both TimeWindowedSerde and TimeWindowedDeserializer have a default constructor that does not require a window size, causing fatal errors at runtime for some programs. 

Public Interfaces

Deprecate the following methods

WindowedSerdes
@Deprecated
public TimeWindowedSerde(final Serde<T> inner) {
	super(new TimeWindowedSerializer<>(inner.serializer()), new TimeWindowedDeserializer<>(inner.deserializer()));
}

/**
* Construct a {@code TimeWindowedSerde} object for the specified inner class type.
*/
@Deprecated
static public <T> Serde<Windowed<T>> timeWindowedSerdeFrom(final Class<T> type) {
	return new TimeWindowedSerde<>(Serdes.serdeFrom(type));
}


TimeWindowedDeserializer
@Deprecated
public TimeWindowedDeserializer(final Deserializer<T> inner) {
	this(inner, Long.MAX_VALUE);
}


Proposed Changes

Deprecate constructors in both TimeWindowedDeserializer and WindowedSerdes that don't require a window size. This ensures that the window size would be properly set before encountering any instances where it should be used.

Compatibility, Deprecation, and Migration Plan

Tests that need to be updated:

Classes that need to be updated:

Rejected Alternatives


  • No labels