Skip to content

STORM-2121: Overriding StringKeyValueScheme.getOutputFields to contain both key and value - #1822

Closed
ikashperskyi wants to merge 2 commits into
apache:masterfrom
ikashperskyi:STORM-2121
Closed

STORM-2121: Overriding StringKeyValueScheme.getOutputFields to contain both key and value#1822
ikashperskyi wants to merge 2 commits into
apache:masterfrom
ikashperskyi:STORM-2121

Conversation

@ikashperskyi

@ikashperskyiikashperskyi commented Dec 10, 2016

Copy link
Copy Markdown
Contributor

Added proper fields to getOutputFields method of StringKeyValueScheme as described in https://issues.apache.org/jira/browse/STORM-2121.
Minor refactoring of deserializeKeyAndValue method: inlined deserialization and added static import for StringScheme.deserializeString.

@ikashperskyiikashperskyi changed the title Storm 2121STORM-2121: Overriding StringKeyValueScheme.getOutputFields to contain both key and valueDec 10, 2016
@HeartSaVioR

Copy link
Copy Markdown
Contributor

+1

1 similar comment
@vesense

Copy link
Copy Markdown
Member

+1

@HeartSaVioR

Copy link
Copy Markdown
Contributor

Sorry I'm revoking my +1. It's not a bug though I don't know why we decided to use 1 field with map. And we're breaking backward compatibility with widely-used module, so need to be thoughtful about this.

In fact this issue came from STORM-2123. Instead of changing existing attribute, we could add ByteKeyValueScheme to have same attribute.

@asmaier@ikashperskyi@vesense What do you think?

@ikashperskyi

Copy link
Copy Markdown
ContributorAuthor

@wurstmeister could you advise if this is a bug or why did we go with only one field if it's not?

@HeartSaVioR this would go into the next major release so I would worry about backward compatibility too much if this is indeed a bug. +1 on ByteKeyValueScheme.

@ikashperskyi

Copy link
Copy Markdown
ContributorAuthor

Now that I think about it we are currently returning a single value tuple with a map so it would make sense to return a pair instead.

@HeartSaVioR@wurstmeister@vesense@asmaier guys what are your thoughts on this?

@HeartSaVioR

Copy link
Copy Markdown
Contributor

@ikashperskyi I would like to also address this to 1.x so keeping backward compatibility is ideal for now.

@harshach

Copy link
Copy Markdown
Contributor

@ikashperskyi@HeartSaVioR StringKeyValueScheme should be emitting both key and value. Its a bug that we are not declaring the key field. For emiting only value users can config StringScheme.
This fix looks good to me , +1 on merging.

@ikashperskyi

Copy link
Copy Markdown
ContributorAuthor

@harshach@HeartSaVioR I feel there's more to it than that. My assumption now is only 1 field is declared because we're falling back to only deserialising the message given a null key. If we were to declare both fields the actual deserialisation should look like:
return new Values(key == null ? StringUtils.EMPTY : deserializeString(key), deserializeString(value));
I'll adjust my PR if you agree that this is the way to go.

d2r pushed a commit to d2r/storm that referenced this pull request Oct 16, 2018
We are closing stale Pull Requests to make the list more manageable.
Please re-open any Pull Request that has been closed in error.
Closesapache#608Closesapache#639Closesapache#640Closesapache#648Closesapache#662Closesapache#668Closesapache#692Closesapache#705Closesapache#724Closesapache#728Closesapache#730Closesapache#753Closesapache#803Closesapache#854Closesapache#922Closesapache#986Closesapache#992Closesapache#1019Closesapache#1040Closesapache#1041Closesapache#1043Closesapache#1046Closesapache#1051Closesapache#1078Closesapache#1146Closesapache#1164Closesapache#1165Closesapache#1178Closesapache#1213Closesapache#1225Closesapache#1258Closesapache#1259Closesapache#1268Closesapache#1272Closesapache#1277Closesapache#1278Closesapache#1288Closesapache#1296Closesapache#1328Closesapache#1342Closesapache#1353Closesapache#1370Closesapache#1376Closesapache#1391Closesapache#1395Closesapache#1399Closesapache#1406Closesapache#1410Closesapache#1422Closesapache#1427Closesapache#1443Closesapache#1462Closesapache#1468Closesapache#1483Closesapache#1506Closesapache#1509Closesapache#1515Closesapache#1520Closesapache#1521Closesapache#1525Closesapache#1527Closesapache#1544Closesapache#1550Closesapache#1566Closesapache#1569Closesapache#1570Closesapache#1575Closesapache#1580Closesapache#1584Closesapache#1591Closesapache#1600Closesapache#1611Closesapache#1613Closesapache#1639Closesapache#1703Closesapache#1711Closesapache#1719Closesapache#1737Closesapache#1760Closesapache#1767Closesapache#1768Closesapache#1785Closesapache#1799Closesapache#1822Closesapache#1824Closesapache#1844Closesapache#1874Closesapache#1918Closesapache#1928Closesapache#1937Closesapache#1942Closesapache#1951Closesapache#1957Closesapache#1963Closesapache#1964Closesapache#1965Closesapache#1967Closesapache#1968Closesapache#1971Closesapache#1985Closesapache#1986Closesapache#1998Closesapache#2031Closesapache#2032Closesapache#2071Closesapache#2076Closesapache#2108Closesapache#2119Closesapache#2128Closesapache#2142Closesapache#2174Closesapache#2206Closesapache#2297Closesapache#2322Closesapache#2332Closesapache#2341Closesapache#2377Closesapache#2414Closesapache#2469
d2r pushed a commit to d2r/storm that referenced this pull request Oct 16, 2018
We are closing stale Pull Requests to make the list more manageable.
Please re-open any Pull Request that has been closed in error.
Closesapache#608Closesapache#639Closesapache#640Closesapache#648Closesapache#662Closesapache#668Closesapache#692Closesapache#705Closesapache#724Closesapache#728Closesapache#730Closesapache#753Closesapache#803Closesapache#854Closesapache#922Closesapache#986Closesapache#992Closesapache#1019Closesapache#1040Closesapache#1041Closesapache#1043Closesapache#1046Closesapache#1051Closesapache#1078Closesapache#1146Closesapache#1164Closesapache#1165Closesapache#1178Closesapache#1213Closesapache#1225Closesapache#1258Closesapache#1259Closesapache#1268Closesapache#1272Closesapache#1277Closesapache#1278Closesapache#1288Closesapache#1296Closesapache#1328Closesapache#1342Closesapache#1353Closesapache#1370Closesapache#1376Closesapache#1391Closesapache#1395Closesapache#1399Closesapache#1406Closesapache#1410Closesapache#1422Closesapache#1427Closesapache#1443Closesapache#1462Closesapache#1468Closesapache#1483Closesapache#1506Closesapache#1509Closesapache#1515Closesapache#1520Closesapache#1521Closesapache#1525Closesapache#1527Closesapache#1544Closesapache#1550Closesapache#1566Closesapache#1569Closesapache#1570Closesapache#1575Closesapache#1580Closesapache#1584Closesapache#1591Closesapache#1600Closesapache#1611Closesapache#1613Closesapache#1639Closesapache#1703Closesapache#1711Closesapache#1719Closesapache#1737Closesapache#1760Closesapache#1767Closesapache#1768Closesapache#1785Closesapache#1799Closesapache#1822Closesapache#1824Closesapache#1844Closesapache#1874Closesapache#1918Closesapache#1928Closesapache#1937Closesapache#1942Closesapache#1951Closesapache#1957Closesapache#1963Closesapache#1964Closesapache#1965Closesapache#1967Closesapache#1968Closesapache#1971Closesapache#1985Closesapache#1986Closesapache#1998Closesapache#2031Closesapache#2032Closesapache#2071Closesapache#2076Closesapache#2108Closesapache#2119Closesapache#2128Closesapache#2142Closesapache#2174Closesapache#2206Closesapache#2297Closesapache#2322Closesapache#2332Closesapache#2341Closesapache#2377Closesapache#2414Closesapache#2469
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ikashperskyi@HeartSaVioR@vesense@harshach