Class used to manage connections to Spanner.
**You don't need to use this class directly, connections will be handled for you.**
{EventEmitter}
Inheritance
EventEmitter > SessionPoolPackage
@google-cloud/spannerConstructors
(constructor)(database, options)
constructor
(
database
:
Database
,
options
?:
SessionPoolOptions
);
Constructs a new instance of the SessionPool
class
database
options
SessionPoolOptions
Configuration options.
Properties
_acquires
_acquires
:
PQueue
;
_evictHandle
_evictHandle
:
NodeJS
.
Timer
;
_inventory
_inventory
:
SessionInventory
;
_onClose
_onClose
:
Promise<void>
;
_pending
_pending
:
number
;
_pingHandle
_pingHandle
:
NodeJS
.
Timer
;
_requests
_requests
:
PQueue
;
_traces
_traces
:
Map<string
,
trace
.
StackFrame
[]>;
_waiters
_waiters
:
number
;
available
get
available
()
:
number
;
Total number of available sessions. {number}
borrowed
get
borrowed
()
:
number
;
Total number of borrowed sessions. {number}
currentWriteFraction
get
currentWriteFraction
()
:
number
;
database
database
:
Database
;
isFull
get
isFull
()
:
boolean
;
Flag to determine if Pool is full. {boolean}
isOpen
isOpen
:
boolean
;
numReadWaiters
get
numReadWaiters
()
:
number
;
numWriteWaiters
get
numWriteWaiters
()
:
number
;
options
options
:
SessionPoolOptions
;
pendingPrepare
get
pendingPrepare
()
:
number
;
reads
get
reads
()
:
number
;
size
get
size
()
:
number
;
Total size of pool. {number}
totalPending
get
totalPending
()
:
number
;
Number of sessions being created or prepared for a read/write transaction. {number}
totalWaiters
get
totalWaiters
()
:
number
;
Sum of read and write waiters. {number}
writes
get
writes
()
:
number
;
Methods
_acquire()
_acquire
()
:
Promise<Session>
;
Attempts to borrow a session from the pool.
_borrow(session)
_borrow
(
session
:
Session
)
:
void
;
Moves a session into the borrowed group.
void
_borrowFrom()
_borrowFrom
()
:
Session
;
Borrows the first session from the inventory.
{Session}
_borrowNextAvailableSession()
_borrowNextAvailableSession
()
:
Session
;
Grabs the next available session.
_createSession()
_createSession
()
:
Promise<void>
;
Attempts to create a single session.
Promise
<void>
{Promise}
_createSessions(amount)
_createSessions
(
amount
:
number
)
:
Promise<void>
;
Batch creates sessions.
amount
number
Config specifying how many sessions to create.
Promise
<void>
{Promise} SessionPool#createError
_destroy(session)
_destroy
(
session
:
Session
)
:
Promise<void>
;
Attempts to delete a session, optionally creating a new one of the same type if the pool is still open and we're under the configured min value.
SessionPool#error
Promise
<void>
{Promise}
_evictIdleSessions()
_evictIdleSessions
()
:
void
;
Deletes idle sessions that exceed the maxIdle configuration.
void
_fill()
_fill
()
:
Promise<void>
;
Fills the pool with the minimum number of sessions.
{Promise}
Promise
<void>
_getIdleSessions()
_getIdleSessions
()
:
Session
[];
Retrieves a list of all the idle sessions.
_getLeaks()
_getLeaks
()
:
string
[];
Returns stack traces for sessions that have not been released.
{string[]}
string[]
_getSession(startTime)
_getSession
(
startTime
:
number
)
:
Promise<Session>
;
Attempts to get a session.
startTime
number
Timestamp to use when determining timeouts.
_hasSessionUsableFor()
_hasSessionUsableFor
()
:
boolean
;
Returns true if the pool has a usable session.
boolean
_isValidSession(session)
_isValidSession
(
session
:
Session
)
:
boolean
;
Checks to see whether or not session is expired.
boolean
{boolean}
_ping(session)
_ping
(
session
:
Session
)
:
Promise<void>
;
Pings an individual session.
Promise
<void>
{Promise}
_pingIdleSessions()
_pingIdleSessions
()
:
Promise<void>
;
Makes a keep alive request to all the idle sessions.
Promise
<void>
{Promise}
_prepareTransaction(session)
_prepareTransaction
(
session
:
Session
)
:
void
;
Creates a transaction for a session.
void
_release(session)
_release
(
session
:
Session
)
:
void
;
Releases a session back into the pool.
SessionPool#available SessionPool#session-available
void
_startHouseKeeping()
_startHouseKeeping
()
:
void
;
Starts housekeeping (pinging/evicting) of idle sessions.
void
_stopHouseKeeping()
_stopHouseKeeping
()
:
void
;
Stops housekeeping.
void
close(callback)
close
(
callback
:
SessionPoolCloseCallback
)
:
void
;
Closes and the pool.
SessionPool#close
callback
SessionPoolCloseCallback
The callback function.
void
formatTrace(frames)
static
formatTrace
(
frames
:
trace
.
StackFrame
[])
:
string
;
Formats stack trace objects into Node-like stack trace.
frames
StackFrame
[]
string
getReadSession(callback)
getReadSession
(
callback
:
GetReadSessionCallback
)
:
void
;
Retrieve a read session.
callback
GetReadSessionCallback
The callback function.
void
getSession(callback)
getSession
(
callback
:
GetSessionCallback
)
:
void
;
Retrieve a session.
callback
GetSessionCallback
The callback function.
void
getWriteSession(callback)
getWriteSession
(
callback
:
GetWriteSessionCallback
)
:
void
;
Retrieve a read/write session.
callback
GetWriteSessionCallback
The callback function.
void
open()
open
()
:
void
;
Opens the pool, filling it to the configured number of read and write sessions.
SessionPool#open {Promise}
void
release(session)
release
(
session
:
Session
)
:
void
;
Releases session back into the pool.
void