0 votes

DP Content DB vs Server Memeory Cache

Set Geek Mode On

I have seen linking and page serving behavior that makes me think this:

There must be a content database behind the DP that physically stores content. - It never fails to load content when asked for content it has stored.

The storage Ids must be related to numbers like these:
Topic 123994 Reply 1331079

There is also a memory cache mechanisim working that plays a critical part of topic and reply creation and possibly topic reply page serving. This acts like a quick db in memory. (It is not a page content cache - it is like an in memory database.) This cache also participates somehow in topic and reply number storage.

This memory cache is displaying symptoms that would be similar to thread collisions - session collisions - lack of mutex - heap vs stack issues.

The symptom is like the memory cache does not know about some of the content ids used but it assumes it knows about all ids in use - as though it assumes it has an accurate cache of the content db id numbers - when in reality it does not have an accurate picture of the content DB id numbers. Certain operations fail becasue they rely on the innacurate cache - other ops always work because they always hit the DB content directly.

What is corrupting the cache. I assume the In memory cache uses a single key or a two value unique key pair to store information in the cache. For some reason data does not get to the cache correctly.

What I think is happening is this key or key pair is blank or null on one of its paramaters. What is trying to write a blank or null for one of the key values would be the real mystery.

super duper geek pure speculation and imaginary mode on

I saw a very very specific case that was similar once. It came down to the difference in the DB between these two statements.

CREATE UNIQUE INDEX (allow nulls) (but only one)
CREATE UNIUE CONTRAINT (no nulls)

The null - blank in the database allowed the code to get a valid db hit when in fact it was an invalid record with null as its PK value. So the cache code was intepreting a null as a valid hit becase the db told it was vlaid - but the code was intended to treat the blank null as bad. The db tricked the cache.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Michael Nystrom's picture

Thanks Dude :)

There are some issues. I've got a friend working on them, and he's the best around.

I'm not exactly sure what you said, but it sounds generally right. I've noticed some pink screen errors. Still some work to go with the upgrade.

Thanks.

To be mean is never excusable, but there is some merit in knowing that one is; the most irreparable of vices is to do evil out of stupidity. - C.B.

Well, this is a bump

for the geek who seems to know his speak.

Prepare & Share the Message of Freedom through Positive-Peaceful-Activism.

Dude ...

I apologize ahead of time if I am wrong ...

But MN has asked you to privately email him.

This type of info really should be handled in that manner.

The fact that you do not do so ...

gives me pause ...

makes me think you are coaxing the site manager into giving you a back door.

Mind you ...

I am a complete idiot on the subject ...

but I am a self annointed expert in human behavior.

"I am a complete idiot on the subject ...

but I am a self annointed expert in human behavior."

Thanks for the good laugh Rhino, I can always count on you!! You are very funny, you know?!

"I think we are living in a world of lies: lies that don't even know they are lies, because they are the children and grandchildren of lies." ~ Chris Floyd

Wasn't trying to be funny.

God Bless.

A lover case lol.

I know you weren't ' trying'

but that's what makes it sooo funny!! It's all good..WAHOR!!

Peace!

"I think we are living in a world of lies: lies that don't even know they are lies, because they are the children and grandchildren of lies." ~ Chris Floyd

And peace to you.

God Bless.

Wino...

hush.

I think he's right.. I've run into a few pinkscreens that show a duplication error between tempfiles and what Drupal is trying to serve up.

This memory cache is displaying symptoms that would be similar to thread collisions - session collisions - lack of mutex - heap vs stack issues.

He's on the right track, I think.

I also think that it's something weird with the timeout session on our cookies.

It is one weird null burp somewhere.. it's gonna be hell to find.

That is also, btw, why some people's accounts are loading twice when they view_account.

He's on the right track.

This isn't anything that someone can exploit. it's a bug.

:)

~Live life to its fullest, with an open heart, open arms and most important... an open mind~

Out of My Area actually

I am a microsoft guy so this is way out of my area.

All of my observations are from page not found type of issues - but the page is clearly there - like some links work and some links do not - but if you look at the ID of the forum topic on the href you see that it is like the cache and the DB are not in synch. Cache wrong - db right.

I also think that if there is anyting to this - the cache is the symptom - something is causing it to be confused. I would think the number of write statements to the cache in the source code would be minmal and easy to track. What ever the souce of the data for the cache points to the real problem.

bigmikedude's picture

Ahhh...

Yeah... What he said.