Ensure hash value arrays are set even when hashing the redirect URL

This commit is contained in:
Ivan Skytte Jørgensen
2016-02-09 13:19:53 +01:00
parent c89fcfc5ec
commit 9b68a04984
2 changed files with 27 additions and 1 deletions

@ -7,6 +7,9 @@
#include "Rebalance.h"
#include "Process.h"
#include "HashTable.h"
#ifdef _VALGRIND_
#include <valgrind/memcheck.h>
#endif
Linkdb g_linkdb;
Linkdb g_linkdb2;
@ -4033,7 +4036,7 @@ bool Links::set ( char *buf , int32_t niceness ) { //char *coll,int32_t nicenes
while ( *q && ! is_wspace_a(*q) ) q++;
int32_t len = q - p;
// add the link
if ( ! addLink ( p , len , -1 , false ,
if ( ! addLink ( p , len , -1 , true ,
TITLEREC_CURRENT_VERSION , niceness, false,
TAG_A , 0 ) )
return false;
@ -4484,6 +4487,11 @@ bool Links::addLink ( char *link , int32_t linkLen , int32_t nodeNum ,
m_linkHashes [ m_numLinks ] = url.getUrlHash64();
m_hostHashes [ m_numLinks ] = url.getHostHash64();
m_domHashes [ m_numLinks ] = url.getDomainHash32();
#ifdef _VALGRIND_
VALGRIND_CHECK_MEM_IS_DEFINED(&(m_linkHashes[m_numLinks]),sizeof(m_linkHashes[m_numLinks]));
VALGRIND_CHECK_MEM_IS_DEFINED(&(m_hostHashes[m_numLinks]),sizeof(m_hostHashes[m_numLinks]));
VALGRIND_CHECK_MEM_IS_DEFINED(&(m_domHashes[m_numLinks]), sizeof(m_domHashes[m_numLinks]));
#endif
}
// set the bits in the flags byte

@ -1178,6 +1178,21 @@ bool XmlDoc::hashLinksForLinkdb ( HashTableX *dt ) {
//
#ifdef _VALGRIND_
VALGRIND_CHECK_MEM_IS_DEFINED(&linkeeSiteHash32,sizeof(linkeeSiteHash32));
uint64_t tmp1 = m_links.getLinkHash64(i);
VALGRIND_CHECK_MEM_IS_DEFINED(&tmp1,sizeof(tmp1));
VALGRIND_CHECK_MEM_IS_DEFINED(&spam,sizeof(spam));
VALGRIND_CHECK_MEM_IS_DEFINED(&siteRank,sizeof(siteRank));
VALGRIND_CHECK_MEM_IS_DEFINED(&hopCount,sizeof(hopCount));
uint32_t tmp2 = *getIp();
VALGRIND_CHECK_MEM_IS_DEFINED(&tmp2,sizeof(tmp2));
uint64_t tmp3 = *getDocId();
VALGRIND_CHECK_MEM_IS_DEFINED(&tmp3,sizeof(tmp3));
VALGRIND_CHECK_MEM_IS_DEFINED(&discoveryDate,sizeof(discoveryDate));
VALGRIND_CHECK_MEM_IS_DEFINED(&lostDate,sizeof(lostDate));
VALGRIND_CHECK_MEM_IS_DEFINED(&linkerSiteHash32,sizeof(linkerSiteHash32));
#endif
// set this key, it is the entire record
key224_t k;
k = g_linkdb.makeKey_uk ( linkeeSiteHash32 ,
@ -1192,6 +1207,9 @@ bool XmlDoc::hashLinksForLinkdb ( HashTableX *dt ) {
false , // new add?
linkerSiteHash32 ,
false );// delete?
#ifdef _VALGRIND_
VALGRIND_CHECK_MEM_IS_DEFINED(&k,sizeof(k));
#endif
/*
// debug
if ( m_links.getLinkHash64(i) != 0x3df1c439a364e18dLL )