Merge branch 'master' of github.com:flamingcowtv/cosmopolite

This commit is contained in:
Ian Gulliver
2015-05-31 16:48:07 -07:00
3 changed files with 8 additions and 2 deletions

View File

@@ -16,6 +16,7 @@
import json import json
import hashlib import hashlib
import logging import logging
import random
import struct import struct
from google.appengine.api import channel from google.appengine.api import channel
@@ -223,6 +224,7 @@ class Subject(db.Model):
sender=sender, sender=sender,
sender_message_id=sender_message_id, sender_message_id=sender_message_id,
sender_address=sender_address, sender_address=sender_address,
random_value=random.randint(0, 2 ** 32 - 1),
id_=message_id) id_=message_id)
obj.put() obj.put()
@@ -434,6 +436,7 @@ class Message(db.Model):
sender_address = db.StringProperty(required=True) sender_address = db.StringProperty(required=True)
# id is reserved # id is reserved
id_ = db.IntegerProperty(required=True) id_ = db.IntegerProperty(required=True)
random_value = db.IntegerProperty(required=True)
def ToEvent(self): def ToEvent(self):
return { return {
@@ -443,6 +446,7 @@ class Message(db.Model):
'subject': self.parent().ToDict(), 'subject': self.parent().ToDict(),
'created': self.created, 'created': self.created,
'sender_message_id': self.sender_message_id, 'sender_message_id': self.sender_message_id,
'random_value': self.random_value,
'message': self.message, 'message': self.message,
} }

View File

@@ -15,6 +15,7 @@
import datetime import datetime
import functools import functools
import json import json
import logging
import random import random
import time import time
@@ -49,6 +50,7 @@ def chaos_monkey(handler):
@functools.wraps(handler) @functools.wraps(handler)
def IntroduceFailures(self): def IntroduceFailures(self):
if random.random() < config.CHAOS_PROBABILITY: if random.random() < config.CHAOS_PROBABILITY:
logging.info('Chaos: returning pre-processing 503')
self.response.headers['Retry-After'] = '0' self.response.headers['Retry-After'] = '0'
self.error(503) self.error(503)
return return
@@ -56,6 +58,7 @@ def chaos_monkey(handler):
ret = handler(self) ret = handler(self)
if random.random() < config.CHAOS_PROBABILITY: if random.random() < config.CHAOS_PROBABILITY:
logging.info('Chaos: returning post-processing 503')
self.response.headers['Retry-After'] = '0' self.response.headers['Retry-After'] = '0'
self.error(503) self.error(503)
return return
@@ -69,7 +72,6 @@ def local_namespace(handler):
@functools.wraps(handler) @functools.wraps(handler)
def SetNamespace(self): def SetNamespace(self):
import logging
namespace_manager.set_namespace(config.NAMESPACE) namespace_manager.set_namespace(config.NAMESPACE)
return handler(self) return handler(self)

View File

@@ -929,7 +929,6 @@ Cosmopolite.prototype.sendRPCs_ = function(commands, opt_delay) {
} }
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.responseType = 'json';
var retryAfterDelay = (function(newCommands) { var retryAfterDelay = (function(newCommands) {
// Exponential backoff + random stagger values // Exponential backoff + random stagger values
@@ -957,6 +956,7 @@ Cosmopolite.prototype.sendRPCs_ = function(commands, opt_delay) {
'load', this.onRPCResponse_.bind(this, xhr, retryAfterDelay, commands)); 'load', this.onRPCResponse_.bind(this, xhr, retryAfterDelay, commands));
xhr.addEventListener('error', retryAfterDelay.bind(null, commands)); xhr.addEventListener('error', retryAfterDelay.bind(null, commands));
xhr.open('POST', this.urlPrefix_ + '/api'); xhr.open('POST', this.urlPrefix_ + '/api');
xhr.responseType = 'json';
xhr.send(JSON.stringify(request)); xhr.send(JSON.stringify(request));
}; };