Is there a problem with vote counting in hivemind?

in #steemtalk6 months ago

I noticed this week that vote counts are not being properly reported in the Popular STEM community. For example, take a look at the post, James Webb's Infrared “Eyes” in this screen grab from upvu.org.

3 votes.

However, look what we see when we click on the list of voters (in upvu.org):

There are two screens worth of votes. (I'm pretty sure that the vote values are wrong, too, but that's a topic for another day)

Unfortunately, I haven't had much time to look into it, but after a few minutes of playing, it appears that the problem might be with getting the data to bridge.get_post and bridge.get_ranked_posts in the Steemit API server, i.e. hivemind?

Here's what I see when I look at the condenser_api.get_content API - 15 votes:

$ curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_content", "params":["jorgebgt", "james-webb-s-infrared-eyes"], "id":1}' https://api.steemit.com | jq -S .result.net_votes
15

However, here's what I see when I look at the undocumented bridge.get_post API - 3 votes:

$ curl -s --data '{"jsonrpc":"2.0", "method":"bridge.get_post", "params":["jorgebgt", "james-webb-s-infrared-eyes"], "id":1}' https://api.steemit.com | jq -S .result.stats.total_votes
3

And here's what I see when I look at the bridge.get_ranked_posts from the steemit API - 3 votes:

$ curl -s --data '{"jsonrpc":"2.0", "method":"bridge.get_ranked_posts", "params":{"sort":"created","tag":"hive-109160","observer":"remlaps"}, "id":1}' https://api.steemit.com | jq -S '.result[] | ( .title, .stats.total_votes )' | sed -n '$!N;s/\n/, /g;p;d' | grep Webb
"James Webb's Infrared “Eyes”", 3

All of the above are from the API at https://api.steemit.com.

On the other hand, bridge.get_post and bridge.get_ranked_posts from the steemitdev API or the API from @moecki both give back the correct values of 15 votes:

$ curl -s --data '{"jsonrpc":"2.0", "method":"bridge.get_post", "params":["jorgebgt", "james-webb-s-infrared-eyes"], "id":1}' https://api.steemitdev.com | jq -S .result.stats.total_votes
15

$ curl -s --data '{"jsonrpc":"2.0", "method":"bridge.get_ranked_posts", "params":{"sort":"created","tag":"hive-109160","observer":"remlaps"}, "id":1}' https://api.moecki.online | jq -S '.result[] | ( .title, .stats.total_votes )' | sed -n '$!N;s/\n/, /g;p;d' | grep Webb
"James Webb's Infrared “Eyes”", 15

I thought that maybe it was some sort of synchronization lag, but so far, the votes have stayed hidden for multiple days.

I have no idea how widespread this problem is, or how long it has been going on, but I'm sure that I have accidentally double and triple voted (and more) a number of posts in recent weeks, and now I'm surmising that this is the reason for it.

I also imagine that it would be very demotivating for an author if they're not seeing the votes that are cast for their post (and also if the vote values are being underreported). It also impacts the ability of other authors and curators to get a sense of community interest in particular topics.

I ran condenser on my own computer today, and saw the same missing votes there.

( Incidentally, the missing votes appear to be hidden from an author's "Notifications" tab, too, but I haven't had the time to check for relevant APIs yet. )

I assume that the problem is not with condenser, since I can see the miscounting at the API level.

I'm hoping that this can be brought to the right person's attention by @steemcurator01 or by @steemchiller, @justyy, or someone else on the @dip.team?


Thank you for your time and attention.

As a general rule, I up-vote comments that demonstrate "proof of reading".




Steve Palmer is an IT professional with three decades of professional experience in data communications and information systems. He holds a bachelor's degree in mathematics, a master's degree in computer science, and a master's degree in information systems and technology management. He has been awarded 3 US patents.


image.png

Pixabay license, source

Reminder


Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.

Sort:  

There is definitely a problem with Steemit's Hivemind node.

I assume that this has to do with the caching that was introduced some time ago. Obviously the parameters need to be checked again to find a good balance between reducing the query intervals and keeping the data up to date.
But maybe the implementation of the caching algorithm is not ideal.

My API node (including Hivemind) is running with the current version, but I can't say at the moment whether caching takes place here. I have not yet dealt with the caching process.
From my point of view, it's only a problem because we still can't change the API node in the Condenser so that another node can be used. Although the DIP team has created the function, it is probably still the CORS settings that prevent access to a third-party API node and switch it back to the Steemit node (see "Note" in section "4. Setting up RPC Node" of the announcement article).
If the problem was fixed, we could use alternative nodes long ago and wouldn't have the problem.

Since I don't see what settings the Steemit team uses for caching, it's also not possible to find out which parameters might be causing the problems...

In any case, the situation is currently very unsatisfactory.

I assume that this has to do with the caching that was introduced some time ago.

I was assuming the same thing, but I don't see any github activity after Dec. 4, so I'm not sure if Steemit's engineering team is aware? (although it would seem like they must be...)

From my point of view, it's only a problem because we still can't change the API node in the Condenser so that another node can be used. Although the DIP team has created the function, it is probably still the CORS settings that prevent access to a third-party API node and switch it back to the Steemit node (see "Note" in section "4. Setting up RPC Node" of the announcement article).

Right, I was looking for a way to change the API setting in upvu, too, but didn't find one. 😞 Not sure why this hasn't been top-priority for Steemit, since it would reduce the load on their API node. Also not sure why upvu didn't implement it, since (IIRC) they were the team that implemented the code for condenser.

Anyway, I guess the only thing we can do is try to make sure that Steemit is aware of the issue. Given that their curators use the platform, I suppose they must be aware, but I haven't seen any acknowledgement. Hence, this post. 😉

I think they know about it. I assume that they are already experimenting with the parameters. That's why it might not necessarily be visible on Github. However, I don't (yet) really know what parameters there are to control the caching in Redis.

But, you are right, a short feedback would be helpful for everyone.

TEAM 1

Congratulations! This comment has been upvoted through steemcurator04. We support quality posts , good comments anywhere and any tags.
Curated by : @o1eh



TEAM 1

Congratulations! This comment has been upvoted through steemcurator04. We support quality posts , good comments anywhere and any tags.
Curated by : @o1eh



There definitely are a lot of discrepancies/delays in recent days/weeks.

I have found that @steemchiller's steemworld.org is a pretty reliable source for checking what actually is happening and comparing to what is being displayed.

For me, the most notable miscount is in number of comments, particularly when there are "nested conversations."

Agreed. The only places I've found that seem to have reliable counts are Steemworld and direct API queries using the condenser_api.

particularly when there are "nested conversations"

You spoke my heart out. Exactly.

Well considering the mess the backend of Steemit is at the moment, you are probably right

Not a good advertisement for new people/existing users

There is definitely a problem with vote counting and comments (specially secondary & tertiary comments under a post).

Now, I have encountered an other problem since this post of mine:
https://steemit.com/hive-185836/@soulfuldreamer/cracking-codes-in-an-unconventional-way
(You may want to read the comments that follow).

Upvotes may not immediately reflect on a post despite the initial voting. When revoting, they may appear with a different percentage that you set during the revoting process. Occasionally, a message may appear saying, "Dismiss, you have already voted," especially if the percentage remains the same. Additionally, there are instances where you inadvertently vote on the same post at a different percentage.

Ah, I had noticed that some comments in one of my conversations were invisible a while back. I didn't make the connection, until now, though. Thanks!

Greetings;
This problem has been occurring since December of last year, since then I have noticed it.

I don't know if it is related to the same problem that you publish and the publication does not appear, if it is not until some time later, it could be after 5 minutes or up to half an hour.

I hope the problem is solved.

The panel has some issues even when updating posts, this is a bigger issue from what I read, however they will fix it, that's what I think.
I wish you a happy start to the week

This post has been featured in the latest edition of Steem News...

Upvoted. Thank You for sending some of your rewards to @null. It will make Steem stronger.

TEAM 1

Congratulations! This post has been upvoted through steemcurator04. We support quality posts , good comments anywhere and any tags.
Curated by : @o1eh



Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 68255.87
ETH 3271.92
USDT 1.00
SBD 2.68