Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
N
node-bigstream
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bs
node-bigstream
Commits
6ef77b5f
Commit
6ef77b5f
authored
May 31, 2021
by
Kamron Aroonrua
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
direct idxstore
parent
0329586a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
73 additions
and
55 deletions
+73
-55
Changelog
Changelog
+3
-1
main.js
storage-service/main.js
+41
-39
service-object.js
storage-service/ws/v1.2/service-object.js
+28
-14
version.json
version.json
+1
-1
No files found.
Changelog
View file @
6ef77b5f
#Changelog
## [1.2.4 Dev] - 2021-05-
07
## [1.2.4 Dev] - 2021-05-
31
### Added
- STORAGE :: Object Cache
### Update
- SS :: Direct Idxstore
## [1.2.3] - 2021-05-05
### Update
- AMQPLib Support Heartbeat Monitoring
...
...
storage-service/main.js
View file @
6ef77b5f
...
...
@@ -2,13 +2,13 @@ var ctx = require('../context');
var
ConnCtx
=
ctx
.
getLib
(
'lib/conn/connection-context'
);
var
rpcserver
=
ctx
.
getLib
(
'lib/amqp/rpcserver'
);
var
RPCCaller
=
ctx
.
getLib
(
'lib/amqp/rpccaller'
);
var
SSServer
=
ctx
.
getLib
(
'lib/axon/rpcserver'
);
var
Db
=
ctx
.
getLib
(
'storage-service/lib/db'
);
var
WorkerPool
=
ctx
.
getLib
(
'storage-service/lib/worker_pool'
);
var
BSSCache
=
ctx
.
getLib
(
'storage-service/lib/storage-bsscache'
);
var
StorageIndexstore
=
ctx
.
getLib
(
'storage-service/lib/storage-indexstore'
)
var
SSCaller
=
ctx
.
getLib
(
'lib/axon/rpccaller'
);
//var SSServer = ctx.getLib('lib/axon/rpcserver');
//
var SSCaller = ctx.getLib('lib/axon/rpccaller');
var
Tokenizer
=
ctx
.
getLib
(
'lib/auth/tokenizer'
);
var
ACLValidator
=
ctx
.
getLib
(
'lib/auth/acl-validator'
);
...
...
@@ -22,8 +22,8 @@ var bodyParser = require('body-parser');
var
EventPub
=
ctx
.
getLib
(
'lib/amqp/event-pub'
);
//var cfg = ctx.config;
var
SS_LISTEN
=
ctx
.
getUnixSocketUrl
(
'ss.sock'
);
var
SS_URL
=
ctx
.
getUnixSocketUrl
(
'ss.sock'
);
//
var SS_LISTEN = ctx.getUnixSocketUrl('ss.sock');
//
var SS_URL = ctx.getUnixSocketUrl('ss.sock');
// var SS_LISTEN = ctx.getServiceUrl(19030);
// var SS_URL = ctx.getClientUrl(19030);
...
...
@@ -102,39 +102,39 @@ SS.prototype.amqp_start = function()
}
SS
.
prototype
.
ipc_start
=
function
()
{
var
self
=
this
;
if
(
this
.
ipc_server
){
return
;}
this
.
ipc_server
=
new
SSServer
({
url
:
SS_LISTEN
,
name
:
'storage_request'
});
this
.
ipc_server
.
set_remote_function
(
function
(
req
,
callback
){
//console.log("IPC Command");
self
.
db
.
request
(
req
,
function
(
err
,
res
){
if
(
err
){
console
.
log
(
err
);
}
callback
(
err
,
res
);
});
});
this
.
ipc_server
.
start
(
function
(
err
){
if
(
!
err
){
console
.
log
(
'SS:IPC START
\
t
\
t
\
t[OK]'
);
}
else
{
console
.
log
(
'SS:IPC START
\
t
\
t
\
t[ERR]'
);
console
.
log
(
'SS:IPC ERROR Restarting ...'
);
setTimeout
(
function
(){
process
.
exit
(
1
);
},
5000
);
}
});
}
//
SS.prototype.ipc_start = function()
//
{
//
var self = this;
//
if(this.ipc_server){return;}
//
this.ipc_server = new SSServer({
//
url : SS_LISTEN,
//
name : 'storage_request'
//
});
//
this.ipc_server.set_remote_function(function(req,callback){
//
//console.log("IPC Command");
//
self.db.request(req,function(err,res){
//
if(err){
//
console.log(err);
//
}
//
callback(err,res);
//
});
//
});
//
this.ipc_server.start(function(err){
//
if(!err){
//
console.log('SS:IPC START\t\t\t[OK]');
//
}else{
//
console.log('SS:IPC START\t\t\t[ERR]');
//
console.log('SS:IPC ERROR Restarting ...');
//
setTimeout(function(){
//
process.exit(1);
//
},5000);
//
}
//
});
//
}
SS
.
prototype
.
http_start
=
function
()
{
...
...
@@ -157,6 +157,7 @@ SS.prototype.http_start = function()
});
this
.
bsscache
=
BSSCache
.
create
()
this
.
idxstore
=
new
StorageIndexstore
({
'mem'
:
self
.
mem
});
this
.
acl_validator
=
ACLValidator
.
create
(
auth_cfg
);
this
.
worker_pool
.
initWorker
();
...
...
@@ -164,7 +165,8 @@ SS.prototype.http_start = function()
'acl_validator'
:
self
.
acl_validator
,
'worker_pool'
:
self
.
worker_pool
,
'storagecaller'
:
self
.
storagecaller
,
'bsscache'
:
self
.
bsscache
'bsscache'
:
self
.
bsscache
,
'idxstore'
:
self
.
idxstore
}));
var
tokenizer
=
Tokenizer
.
create
(
auth_cfg
);
...
...
storage-service/ws/v1.2/service-object.js
View file @
6ef77b5f
...
...
@@ -58,7 +58,7 @@ router.get('/:id/file',function (req, res) {
});
function
oid_parse
(
oid
,
caller
,
cb
)
function
oid_parse
(
oid
,
idxstore
,
cb
)
{
var
ret
=
{
'valid'
:
true
}
if
(
!
oid
)
...
...
@@ -82,19 +82,12 @@ function oid_parse(oid,caller,cb)
if
(
ret
.
key
.
length
<=
0
){
return
cb
(
null
,{
'valid'
:
false
});
}
var
callreq
=
{
'object_type'
:
'storage_request'
,
'command'
:
'idxget'
,
'param'
:
{
'storage_name'
:
ret
.
storage_name
,
'key'
:
ret
.
key
}
}
caller
.
call
(
callreq
,
function
(
err
,
resp
){
if
(
!
err
&&
resp
.
status
==
'OK'
&&
resp
.
resp
.
found
){
//direct idxstore
idxstore
.
getIndex
(
ret
.
storage_name
,
ret
.
key
,(
err
,
val
)
=>
{
if
(
!
err
&&
val
){
ret
.
by
=
"obj"
;
ret
.
obj_id
=
resp
.
resp
.
object_id
;
ret
.
obj_id
=
val
;
ret
.
seq
=
(
new
ObjId
(
ret
.
obj_id
)).
extract
().
seq
;
cb
(
null
,
ret
);
}
else
{
...
...
@@ -102,6 +95,26 @@ function oid_parse(oid,caller,cb)
}
});
// var callreq = {
// 'object_type' : 'storage_request',
// 'command' : 'idxget',
// 'param' : {
// 'storage_name' : ret.storage_name,
// 'key' : ret.key
// }
// }
// caller.call(callreq,function(err,resp){
// if(!err && resp.status=='OK' && resp.resp.found){
// ret.by = "obj";
// ret.obj_id = resp.resp.object_id;
// ret.seq = (new ObjId(ret.obj_id)).extract().seq;
// cb(null,ret);
// }else{
// cb(null,{'valid':false});
// }
// });
}
else
if
(
str_addr
.
startsWith
(
'['
)
&&
str_addr
.
endsWith
(
']'
)){
ret
.
by
=
"seq"
;
var
str_num
=
str_addr
.
substr
(
1
,
str_addr
.
length
-
2
);
...
...
@@ -139,10 +152,11 @@ function get_object(reqHelper,respHelper,prm)
var
oid
=
prm
.
oid
;
var
opt
=
prm
.
opt
||
{};
var
storagecaller
=
reqHelper
.
request
.
context
.
storagecaller
;
//
var storagecaller = reqHelper.request.context.storagecaller;
var
bsscache
=
reqHelper
.
request
.
context
.
bsscache
;
var
idxstore
=
reqHelper
.
request
.
context
.
idxstore
;
oid_parse
(
oid
,
storagecaller
,(
err
,
oid_result
)
=>
{
oid_parse
(
oid
,
idxstore
,(
err
,
oid_result
)
=>
{
if
(
!
oid_result
.
valid
){
respHelper
.
response404
();
...
...
version.json
View file @
6ef77b5f
{
"version"
:
"1.2.4"
,
"build"
:
"202105
07
0000"
"build"
:
"202105
31
0000"
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment