Class SessionPool (6.13.0)

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 > SessionPool

Package

@google-cloud/spanner

Constructors

(constructor)(database, options)

  constructor 
 ( 
 database 
 : 
  
 Database 
 , 
  
 options 
 ?: 
  
 SessionPoolOptions 
 ); 
 

Constructs a new instance of the SessionPool class

Parameters
Name
Description
database
Database

The DB instance.

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.

Returns
Type
Description
Promise < Session >

{Promise

_borrow(session)

  _borrow 
 ( 
 session 
 : 
  
 Session 
 ) 
 : 
  
 void 
 ; 
 

Moves a session into the borrowed group.

Parameter
Name
Description
session
Session

The session object.

Returns
Type
Description
void

_borrowFrom()

  _borrowFrom 
 () 
 : 
  
 Session 
 ; 
 

Borrows the first session from the inventory.

{Session}

Returns
Type
Description

_borrowNextAvailableSession()

  _borrowNextAvailableSession 
 () 
 : 
  
 Session 
 ; 
 

Grabs the next available session.

Returns
Type
Description

{Promise

_createSession()

  _createSession 
 () 
 : 
  
 Promise<void> 
 ; 
 

Attempts to create a single session.

Returns
Type
Description
Promise <void>

{Promise}

_createSessions(amount)

  _createSessions 
 ( 
 amount 
 : 
  
 number 
 ) 
 : 
  
 Promise<void> 
 ; 
 

Batch creates sessions.

Parameter
Name
Description
amount
number

Config specifying how many sessions to create.

Returns
Type
Description
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

Parameter
Name
Description
session
Session

The session to delete.

Returns
Type
Description
Promise <void>

{Promise}

_evictIdleSessions()

  _evictIdleSessions 
 () 
 : 
  
 void 
 ; 
 

Deletes idle sessions that exceed the maxIdle configuration.

Returns
Type
Description
void

_fill()

  _fill 
 () 
 : 
  
 Promise<void> 
 ; 
 

Fills the pool with the minimum number of sessions.

{Promise}

Returns
Type
Description
Promise <void>

_getIdleSessions()

  _getIdleSessions 
 () 
 : 
  
 Session 
 []; 
 

Retrieves a list of all the idle sessions.

Returns
Type
Description
Session []

{Session[]}

_getLeaks()

  _getLeaks 
 () 
 : 
  
 string 
 []; 
 

Returns stack traces for sessions that have not been released.

{string[]}

Returns
Type
Description
string[]

_getSession(startTime)

  _getSession 
 ( 
 startTime 
 : 
  
 number 
 ) 
 : 
  
 Promise<Session> 
 ; 
 

Attempts to get a session.

Parameter
Name
Description
startTime
number

Timestamp to use when determining timeouts.

Returns
Type
Description
Promise < Session >

{Promise

_hasSessionUsableFor()

  _hasSessionUsableFor 
 () 
 : 
  
 boolean 
 ; 
 

Returns true if the pool has a usable session.

Returns
Type
Description
boolean

_isValidSession(session)

  _isValidSession 
 ( 
 session 
 : 
  
 Session 
 ) 
 : 
  
 boolean 
 ; 
 

Checks to see whether or not session is expired.

Parameter
Name
Description
session
Session

The session to check.

Returns
Type
Description
boolean

{boolean}

_ping(session)

  _ping 
 ( 
 session 
 : 
  
 Session 
 ) 
 : 
  
 Promise<void> 
 ; 
 

Pings an individual session.

Parameter
Name
Description
session
Session

The session to ping.

Returns
Type
Description
Promise <void>

{Promise}

_pingIdleSessions()

  _pingIdleSessions 
 () 
 : 
  
 Promise<void> 
 ; 
 

Makes a keep alive request to all the idle sessions.

Returns
Type
Description
Promise <void>

{Promise}

_prepareTransaction(session)

  _prepareTransaction 
 ( 
 session 
 : 
  
 Session 
 ) 
 : 
  
 void 
 ; 
 

Creates a transaction for a session.

Parameter
Name
Description
session
Session

The session object.

Returns
Type
Description
void

_release(session)

  _release 
 ( 
 session 
 : 
  
 Session 
 ) 
 : 
  
 void 
 ; 
 

Releases a session back into the pool.

SessionPool#available SessionPool#session-available

Parameter
Name
Description
session
Session

The session object.

Returns
Type
Description
void

_startHouseKeeping()

  _startHouseKeeping 
 () 
 : 
  
 void 
 ; 
 

Starts housekeeping (pinging/evicting) of idle sessions.

Returns
Type
Description
void

_stopHouseKeeping()

  _stopHouseKeeping 
 () 
 : 
  
 void 
 ; 
 

Stops housekeeping.

Returns
Type
Description
void

close(callback)

  close 
 ( 
 callback 
 : 
  
 SessionPoolCloseCallback 
 ) 
 : 
  
 void 
 ; 
 

Closes and the pool.

SessionPool#close

Parameter
Name
Description
callback
SessionPoolCloseCallback

The callback function.

Returns
Type
Description
void

formatTrace(frames)

  static 
  
 formatTrace 
 ( 
 frames 
 : 
  
 trace 
 . 
 StackFrame 
 []) 
 : 
  
 string 
 ; 
 

Formats stack trace objects into Node-like stack trace.

Parameter
Name
Description
frames
StackFrame []
Returns
Type
Description
string

getReadSession(callback)

  getReadSession 
 ( 
 callback 
 : 
  
 GetReadSessionCallback 
 ) 
 : 
  
 void 
 ; 
 

Retrieve a read session.

Parameter
Name
Description
callback
GetReadSessionCallback

The callback function.

Returns
Type
Description
void

getSession(callback)

  getSession 
 ( 
 callback 
 : 
  
 GetSessionCallback 
 ) 
 : 
  
 void 
 ; 
 

Retrieve a session.

Parameter
Name
Description
callback
GetSessionCallback

The callback function.

Returns
Type
Description
void

getWriteSession(callback)

  getWriteSession 
 ( 
 callback 
 : 
  
 GetWriteSessionCallback 
 ) 
 : 
  
 void 
 ; 
 

Retrieve a read/write session.

Parameter
Name
Description
callback
GetWriteSessionCallback

The callback function.

Returns
Type
Description
void

open()

  open 
 () 
 : 
  
 void 
 ; 
 

Opens the pool, filling it to the configured number of read and write sessions.

SessionPool#open {Promise}

Returns
Type
Description
void

release(session)

  release 
 ( 
 session 
 : 
  
 Session 
 ) 
 : 
  
 void 
 ; 
 

Releases session back into the pool.

Parameter
Name
Description
session
Session

The session to release.

Returns
Type
Description
void
Create a Mobile Website
View Site in Mobile | Classic
Share by: