Error perfroming n1ql query. Empty Result and null error using the node sdk

This is the Query I am executing. 


SELECT * FROM Session_Bucket Session  
NEST Events_Bucket aryEvents ON KEYS Session.aryEvents  
LEFT NEST PageRule_Bucket aryPageRules ON KEYS aryEvents[*].causeId  
WHERE Session.companyId = '4b602472-44e6-4c22-a674-047484d588b8'  
AND NOT ANY Event IN aryEvents SATISFIES ANY rule IN aryPageRules SATISFIES 
   Event.result='form-completed' AND 
   Event.causeId=rule.ruleId AND 
   rule.pageGroup='homedefenders.com Quote Form' 
   END 
END AND ANY rule IN aryPageRules SATISFIES rule.pageGroup='homedefenders.com Quote Form' END AND Session.aryBreStatus.homedefendersQuoteBreadId IS MISSING AND Session.lastEventTime < (NOW_MILLIS() - 300000)  LIMIT 300;


Here is how I execute the query 

C_BaseDao.prototype.mf_executeN1ql = function (p_strN1ql, pf_callback)
{
	try {
		var l_oQuery = this.m_n1qlQuery.fromString(p_strN1ql);
		if (g_oConfig.m_bTestMode) {
			l_oQuery.consistency(this.m_n1qlQuery.Consistency.STATEMENT_PLUS);
		}
		this.m_oPrimaryBucket.query(l_oQuery, pf_callback);
	} catch (p_exception) {
		if (g_DBConnection.E_couchbaseMessages.shutdownBucket === p_exception.message) {
			// TODO:  Remove this before launch.
			console.log("Re-opening shutdown bucket. " + this.mf_getBucketName());
			g_DBConnection.mf_reconnectAll();
			this.m_oPrimaryBucket = g_DBConnection.m_aryBuckets[this.mf_getBucketName()];
			this.mf_executeN1ql(p_strN1ql, pf_callback);
		} else {
			console.log("exception in execute n1ql");
			console.log(p_exception);
			pf_callback(p_exception, null, null);
		}
	}
};

this.mf_executeN1ql(l_strSelect, lf_parseResults);


My Bucket timeout Settings are the following. 

C_CouchbaseCluster.prototype.mf_connectBucket = function (p_strBucketName, pf_errorHandler)
{
	if (!g_oHelper.mf_isValid(this.m_aryBuckets[p_strBucketName]) || false === this.m_aryBuckets[p_strBucketName].connected) {
		this.m_aryBuckets[p_strBucketName]                   = this.m_oCluster.openBucket(p_strBucketName, this.mf_generateErrorHandler(pf_errorHandler));
		this.m_aryBuckets[p_strBucketName].operationTimeout  = 600 * 1000;
		this.m_aryBuckets[p_strBucketName].connectionTimeout = 600 * 1000;
		this.m_aryBuckets[p_strBucketName].enableN1ql(g_cfgDatabase.m_strCouchbaseHostname);
	}
	return this.m_aryBuckets[p_strBucketName];
};


I should mention that the query takes a while to execute.indent preformatted text by 4 spaces