Skip to content

Adds much more line number information through the NoStackAndThen class#1423

Merged
ianoc merged 3 commits intodevelopfrom
ianoc/forcetoDiskZip2
Aug 18, 2015
Merged

Adds much more line number information through the NoStackAndThen class#1423
ianoc merged 3 commits intodevelopfrom
ianoc/forcetoDiskZip2

Conversation

@ianoc
Copy link
Collaborator

@ianoc ianoc commented Aug 15, 2015

Found a bunch of cases when we would just be showing toPipe and asPipe in the descriptions. In these cases the scalding line number doesn't actually seem to be helpful at all. It seemed to be as a result of passing through the NoStackAndThen class, so thread some line data through there is the goal here.

@johnynek
Copy link
Collaborator

Is there any test we can add to make sure we don't regress here?

@ianoc
Copy link
Collaborator Author

ianoc commented Aug 18, 2015

The tests I've managed to do so far I couldn't repo it easily in alas :/ It occurs in some of the execution tests in our test suite. But not too many others. I'll have another look later see if i can do something

@johnynek
Copy link
Collaborator

If we can't find any test, but you still have evidence this is better, it's fine with me to merge. I'll leave it to you. Obviously it would be better to find some kind of test since we are at a stage where changes easily cause regressions.

@ianoc
Copy link
Collaborator Author

ianoc commented Aug 18, 2015

@johnynek I have a test that requires the new code to pass here. Though its not quite the problem I set out to solve(and this does solve). It tests probably a stronger contract, if we pass through a NoStackAndThen operation we pick up some line number info, so if we toPipe elsewhere its all kept. Futures are just there to take out any stack traces we can. -- Where I mostly see line number info being lost is in executions futures where after a NoStackAndThen there is no user code on the stacktrace.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does the order matter here? Seems to me, each unwrapping might be a different line number. Is that not the case? Do we not want a List[Array[StackTraceElement]] and just concat all of them and try to get line numbers out of each?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could get a line number out of each, possibly getting several line numbers. That might be better really, but it could appear more noisey. This was just attempting to do a priority of the first thing you did to the last, but thats pretty arbitrary

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Attempts to preserve everything we know now, other than the line numbers being off a little I think in the scala compiler it looks decent

TypedPipe.from(List(1,2,3))
.map()

reports both line numbers are with the .map

@johnynek
Copy link
Collaborator

sounds good to me for now. We can keep improving. If you're happy with it, merge away!

ianoc added a commit that referenced this pull request Aug 18, 2015
Adds much more line number information through the NoStackAndThen class
@ianoc ianoc merged commit 355d8dc into develop Aug 18, 2015
@ianoc ianoc deleted the ianoc/forcetoDiskZip2 branch August 18, 2015 20:48
Sign up for free to 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.

2 participants