Uh oh!
There was an error while loading. Please reload this page.
Error in Page Rank Computation in PageRank.scala - #2100
Conversation
AmplabJenkins
commented
Aug 22, 2014
Can one of the admins verify this patch? |
pfontana3w2
commented
Aug 22, 2014
Do take a look. I noticed that with this patch, dangling nodes no longer have page ranks equal to their reset probabilities, so there may not be an error, or my solution may not be the right one. Here is a small test that I did. Edge Table:
Node Table:
Page Ranks Before Patch: (4,0.29503124999999997) Page Ranks After Patch: (4,0.2488125) Note that node 10 is not in the edge table |
ankurdave
commented
Aug 23, 2014
ok to test |
SparkQA
commented
Aug 23, 2014
QA tests have started for PR 2100 at commit
|
SparkQA
commented
Aug 23, 2014
QA tests have finished for PR 2100 at commit
|
pfontana3w2
commented
Aug 25, 2014
It looks like I may be mistaken (since the unit tests failed), so I am closing this pull request. |
ankurdave
commented
Aug 25, 2014
To answer your concern, the As a result, we have to add in |
pfontana3w2
commented
Aug 25, 2014
Thank you for taking the time to explain the code. I did another test and noticed that the two methods seem to give different outputs for a test case. See Issue: https://issues.apache.org/jira/browse/SPARK-3206?jql=project%20%3D%20SPARK%20AND%20resolution%20%3D%20Unresolved%20AND%20priority%20%3D%20Major%20ORDER%20BY%20key%20DESC |
I saw something strange in the Page Rank computation for runUntilConverge() in PageRank.scala. It uses the oldPR instead of the resetProb. Note that the run() Method in PageRank.scala uses resetProb as my correction does here (see Lines 95–96 of PageRank.scala).
Here is the diff that I see (in case it is hidden later):
This might not be the right correction, but I brought a pull request to see if I have found an error or not. If it is not correct, just deny the pull request.
Best Wishes