diff --git a/server/website/script/fixture_generators/knob_settings/oracle/create_knob_settings.py b/server/website/script/fixture_generators/knob_settings/oracle/create_knob_settings.py index 6ff303e..3320fdb 100644 --- a/server/website/script/fixture_generators/knob_settings/oracle/create_knob_settings.py +++ b/server/website/script/fixture_generators/knob_settings/oracle/create_knob_settings.py @@ -138,6 +138,12 @@ def set_field(fields): fields['maxval'] = 2000000000 # 2GB fields['default'] = 500000000 # 500M fields['resource'] = 1 + if fields['name'].lower() == 'db_32k_cache_size': + fields['tunable'] = False + fields['minval'] = 0 + fields['maxval'] = 2000000000 # 2GB + fields['default'] = 500000000 # 500M + fields['resource'] = 1 if fields['name'].upper() == 'DB_RECYCLE_CACHE_SIZE': fields['tunable'] = False fields['minval'] = 0 diff --git a/server/website/website/fixtures/oracle-121_knobs.json b/server/website/website/fixtures/oracle-121_knobs.json index 328171c..73d7f87 100644 --- a/server/website/website/fixtures/oracle-121_knobs.json +++ b/server/website/website/fixtures/oracle-121_knobs.json @@ -1039,11 +1039,12 @@ "unit": 3, "tunable": false, "description": "", - "minval": null, - "maxval": null, + "minval": 0, + "maxval": 2000000000, "vartype": 2, - "default": "0", - "summary": "Size of cache for 32K buffers" + "default": 500000000, + "summary": "Size of cache for 32K buffers", + "resource": 1 } }, { diff --git a/server/website/website/fixtures/oracle-12_knobs.json b/server/website/website/fixtures/oracle-12_knobs.json index 1947e1a..7c45a77 100644 --- a/server/website/website/fixtures/oracle-12_knobs.json +++ b/server/website/website/fixtures/oracle-12_knobs.json @@ -1324,11 +1324,12 @@ "unit": 3, "tunable": false, "description": "", - "minval": null, - "maxval": null, + "minval": 0, + "maxval": 2000000000, "vartype": 2, - "default": "0", - "summary": "Size of cache for 32K buffers" + "default": 500000000, + "summary": "Size of cache for 32K buffers", + "resource": 1 } }, { diff --git a/server/website/website/fixtures/oracle-19_knobs.json b/server/website/website/fixtures/oracle-19_knobs.json index 04a843f..a4d8d9f 100644 --- a/server/website/website/fixtures/oracle-19_knobs.json +++ b/server/website/website/fixtures/oracle-19_knobs.json @@ -1419,11 +1419,12 @@ "unit": 3, "tunable": false, "description": "", - "minval": null, - "maxval": null, + "minval": 0, + "maxval": 2000000000, "vartype": 2, - "default": "0", - "summary": "Size of cache for 32K buffers" + "default": 500000000, + "summary": "Size of cache for 32K buffers", + "resource": 1 } }, { diff --git a/server/website/website/urls.py b/server/website/website/urls.py index 7a4c38b..5311fbf 100644 --- a/server/website/website/urls.py +++ b/server/website/website/urls.py @@ -74,7 +74,7 @@ urlpatterns = [ url(r'^create/user/', website_views.alt_create_user, name='backdoor_create_user'), url(r'^delete/user/', website_views.alt_delete_user, name='backdoor_delete_user'), url(r'^info/(?P[0-9a-zA-Z]+)', website_views.alt_get_info, name="backdoor_info"), - url(r'^set_constant/(?P[0-9a-zA-Z_]+)', website_views.alt_set_constant, name="backdoor_set_constant"), + url(r'^set_constants/', website_views.alt_set_constants, name="backdoor_set_constants"), # train ddpg with results in the given session url(r'^train_ddpg/sessions/(?P[0-9]+)$', website_views.train_ddpg_loops, name='train_ddpg_loops'), diff --git a/server/website/website/views.py b/server/website/website/views.py index 219fc5d..3cfcdfb 100644 --- a/server/website/website/views.py +++ b/server/website/website/views.py @@ -1141,19 +1141,16 @@ def alt_get_info(request, name): @csrf_exempt -def alt_set_constant(request, name): - # Sets a constant defined in settings/constants.py - LOG.info('POST: %s', request.POST) - LOG.info('POST.lists(): %s', request.POST.lists()) - value = request.POST['value'] - LOG.info('name: %s, value: %s, type: %s', name, value, type(value)) - #data = {k: v[0] for k, v in request.POST.lists()} - try: - utils.set_constant(name, value) - except AttributeError as e: - LOG.warning(e) - return HttpResponse(e, status=400) - return HttpResponse("Successfully updated {} to '{}'".format(name, value)) +def alt_set_constants(request): + constants = JSONUtil.loads(request.POST.get('constants', '{}')) + for name, value in constants.items(): + try: + utils.set_constant(name, value) + except AttributeError as e: + LOG.warning(e) + return HttpResponse(e, status=400) + return HttpResponse("Successfully updated constants: {}".format( + ', '.join('{}={}'.format(k, v) for k, v in constants.items()))) @csrf_exempt