Abstract:
A first copy of a database object may be constructed prior to applying a designated database update request to a first database. The database object may be represented by a plurality of database table rows in the first database, and the request may update one or more of the plurality of rows. The request may be applied to the first database to update the one or more of the plurality of rows in the first database. A second copy of the database object may be constructed after applying the database update request to the first database. A message identifying a difference between the first copy of the database object and a second copy of the database object may be transmitted to a remote computing device.
Abstract:
Techniques for partition balancing. Organization identifiers (orgIDs) are acquired for one or more organizations within a multi-organization on-demand services environment having multiple nodes, each of which have one or more partitions. A mapping of the orgIDs to the partitions within the multi-organization on-demand services environment is determined. Resource consumption for the organizations is determined. Resource consumption for the partitions based on the resource consumption of the organization and the mapping of the organization to the partitions is determined. A score for the partitions based on the resource consumption is generated. The partitions are redistributed among the nodes based on the partition scores.
Abstract:
Techniques and structures to prevent exhaustion of a database connection pool, including retrieving data from the database connection pool, monitoring the data to determine whether the connection pool is at risk of an exhaustion condition, analyzing the data to determine whether one or more clients accessing the database connection pool are offenders upon determining that the connection pool is at risk and throttling access to the one or more clients accessing the database connection pool upon determining the one or more clients to be offenders.
Abstract:
Within one or more instances of a computing environment where an instance is a self-contained architecture to provide at least one database with corresponding search and file system. User information from the one or more instances of the computing environment is organized as zones. A zone is based on one or more characteristics of corresponding user information that are different than the instance to which the user information belongs. User information is selectively obfuscated prior to transmitting blocks of data including the obfuscated user information. The selective obfuscation is based on zone information for one or more zones to which the user information belongs.
Abstract:
Techniques are disclosed relating to an in-memory, software-managed cache configured to store web application data. In some embodiments, operations to cache data specify a visibility parameter for the data, among a plurality of namespaces. In some embodiments, requests to access cached data are checked, based on a request's namespace and the visibility parameter for the cached data, to determine whether they are allowed to proceed. In some embodiments, this may facilitate caching data using shared computing systems and data structures while maintaining configurable privacy for cached data.
Abstract:
Techniques for partition balancing. Organization identifiers (orgIDs) are acquired for one or more organizations within a multi-organization on-demand services environment having multiple nodes, each of which have one or more partitions. A mapping of the orgIDs to the partitions within the multi-organization on-demand services environment is determined. Resource consumption for the organizations is determined. Resource consumption for the partitions based on the resource consumption of the organization and the mapping of the organization to the partitions is determined. A score for the partitions based on the resource consumption is generated. The partitions are redistributed among the nodes based on the partition scores.
Abstract:
Systems and techniques for utilizing resource aware queues and/or service sharing in a multi-server environment. Requests directed to an application server are received into one or more queues in front of the application server. An acknowledgement of the requests is provided in response to the requests being received by the one or more queues. Metadata associated with the requests is utilized to manage the one or more queues. The requests from the one or more queues are processed based on the metadata.
Abstract:
Systems and techniques for servicing requests in an environment having multiple application servers each having one or more queues to store indications of requests to be serviced by the application servers. A utilization level is determined for a first application server of the multiple application servers. The utilization level is compared to a pre-selected utilization threshold level. The system determines whether to service requests allocated to other application servers in response to the comparing. At least one request allocated to a second application server for servicing.
Abstract:
Elastic connection pools for database nodes are described. A system receives a user request that references data in a database, and uses the user request to identify a partition of multiple partitions of the database. The system uses the identified partition to identify a database node in a cluster of database nodes. The system uses the identified database node to identify a connection pool of multiple connection pools provided by an application server. If the identified connection pool does not have any available connections to the identified database node, the system uses connection criteria to select another connection pool of the remainder of the connection pools. The system enables the user request to access the referenced data in the identified partition of the database by providing the user request with an available connection, from the other connection pool, to another database node in the cluster.
Abstract:
Cloud services release orchestration with a reusable deployment pipeline. According to some implementations, responsive to receiving from a COS controller parameters from configuration information provided to the COS controller while an app aware proxy routes production traffic to a first application (app) version that communicates with a database management system (DBMS) and that runs in container orchestration system (COS) pods having first app version containers, causing a validation of a second app version using COS pods having second app version containers that are now live after having been brought up by the COS controller responsive to the provision of the configuration information. After the validation, causing the transition to sending production traffic to the second app version containers that are determined to be live instead of to the first app version containers. Then causing post-release activities using DBMS connection information for the first app version that was in the configuration information and that was provided through the COS controller.