Skip to content

Commit

Permalink
Support canary serving deployments
Browse files Browse the repository at this point in the history
  • Loading branch information
gibchikafa committed Mar 18, 2024
1 parent e45f756 commit 146ff51
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 22 deletions.
61 changes: 40 additions & 21 deletions files/default/sql/ddl/3.8.0__initial_tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1247,44 +1247,63 @@ CREATE TABLE `rstudio_settings` (
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `serving` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`local_port` int(11) DEFAULT NULL,
`cid` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`project_id` int(11) NOT NULL,
`creator` int(11) DEFAULT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`name` varchar(255) COLLATE latin1_general_cs NOT NULL,
`description` varchar(1000) COLLATE latin1_general_cs DEFAULT NULL,
`model_path` varchar(255) COLLATE latin1_general_cs NOT NULL,
`artifact_version` int(11) DEFAULT NULL,
`predictor` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`transformer` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`model_name` varchar(255) COLLATE latin1_general_cs NOT NULL,
`model_version` int(11) NOT NULL,
`model_framework` int(11) NOT NULL,
`deployed` timestamp DEFAULT NULL,
`local_port` int(11) DEFAULT NULL,
`local_dir` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`batching_configuration` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`optimized` tinyint(4) NOT NULL DEFAULT '0',
`instances` int(11) NOT NULL DEFAULT '0',
`transformer_instances` int(11) DEFAULT NULL,
`creator` int(11) DEFAULT NULL,
`cid` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`lock_ip` varchar(15) COLLATE latin1_general_cs DEFAULT NULL,
`lock_timestamp` bigint(20) DEFAULT NULL,
`serving_tool` int(11) NOT NULL DEFAULT '0',
`specification` int(11) NOT NULL,
`canary_spec` int(11) DEFAULT NULL,
`canary_traffic_percentage` TINYINT DEFAULT NULL,
`kafka_topic_id` int(11) DEFAULT NULL,
`inference_logging` int(11) DEFAULT NULL,
`model_server` int(11) NOT NULL DEFAULT '0',
`serving_tool` int(11) NOT NULL DEFAULT '0',
`deployed` timestamp DEFAULT NULL,
`revision` varchar(8) DEFAULT NULL,
`predictor_resources` varchar(1000) COLLATE latin1_general_cs DEFAULT NULL,
`transformer_resources` varchar(1000) COLLATE latin1_general_cs DEFAULT NULL,
`api_protocol` TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `Serving_Constraint` (`project_id`,`name`),
KEY `user_fk` (`creator`),
KEY `kafka_fk` (`kafka_topic_id`),
KEY `name_k` (`name`),
CONSTRAINT `user_fk_serving` FOREIGN KEY (`creator`) REFERENCES `users` (`uid`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `FK_284_315` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `kafka_fk` FOREIGN KEY (`kafka_topic_id`) REFERENCES `project_topics` (`id`) ON DELETE SET NULL ON UPDATE NO ACTION,
CONSTRAINT `FK_284_315` FOREIGN KEY (`project_id`) REFERENCES `project` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
CONSTRAINT unique_specification UNIQUE (specification),
CONSTRAINT unique_canary_spec UNIQUE (canary_spec),
CONSTRAINT `specification_fk` FOREIGN KEY (`specification`) REFERENCES `serving_spec` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION,
CONSTRAINT `canary_spec_fk` FOREIGN KEY (`canary_spec`) REFERENCES `serving_spec` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `serving_spec`
--

/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `serving_spec` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`model_path` varchar(255) COLLATE latin1_general_cs NOT NULL,
`artifact_version` int(11) DEFAULT NULL,
`predictor` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`transformer` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`model_name` varchar(255) COLLATE latin1_general_cs NOT NULL,
`model_version` int(11) NOT NULL,
`model_framework` int(11) NOT NULL,
`batching_configuration` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`optimized` tinyint(4) NOT NULL DEFAULT '0',
`instances` int(11) NOT NULL DEFAULT '0',
`transformer_instances` int(11) DEFAULT NULL,
`model_server` int(11) NOT NULL DEFAULT '0',
`revision` varchar(8) DEFAULT NULL,
`predictor_resources` varchar(1000) COLLATE latin1_general_cs DEFAULT NULL,
`transformer_resources` varchar(1000) COLLATE latin1_general_cs DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs;
/*!40101 SET character_set_client = @saved_cs_client */;

Expand Down
50 changes: 49 additions & 1 deletion files/default/sql/ddl/updates/3.8.0.sql
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,54 @@ ALTER TABLE `hopsworks`.`feature_store_jdbc_connector`
ADD COLUMN `secret_uid` INT DEFAULT NULL,
ADD COLUMN `secret_name` VARCHAR(200) DEFAULT NULL;

<<<<<<< HEAD
-- FSTORE-1248
ALTER TABLE `hopsworks`.`executions`
ADD COLUMN `notebook_out_path` varchar(255) COLLATE latin1_general_cs DEFAULT NULL;
ADD COLUMN `notebook_out_path` varchar(255) COLLATE latin1_general_cs DEFAULT NULL;
=======
-- HWORKS-927
ALTER TABLE `hopsworks`.`serving`
DROP COLUMN `model_path`,
DROP COLUMN `artifact_version`,
DROP COLUMN `predictor`,
DROP COLUMN `transformer`,
DROP COLUMN `model_name`,
DROP COLUMN `model_version`,
DROP COLUMN `model_framework`,
DROP COLUMN `batching_configuration`,
DROP COLUMN `optimized`,
DROP COLUMN `instances`,
DROP COLUMN `transformer_instances`,
DROP COLUMN `model_server`,
DROP COLUMN `predictor_resources`,
DROP COLUMN `transformer_resources`;

ALTER TABLE `hopsworks`.`serving` ADD COLUMN `specification` int(11) NOT NULL,
ADD COLUMN `canary_spec` int(11) DEFAULT NULL,
ADD COLUMN `canary_traffic_percentage` TINYINT DEFAULT NULL;
ALTER TABLE `hopsworks`.`serving` ADD CONSTRAINT unique_specification UNIQUE (specification);
ALTER TABLE `hopsworks`.`serving` ADD CONSTRAINT unique_canary_spec UNIQUE (canary_spec);

CREATE TABLE `serving_spec` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`model_path` varchar(255) COLLATE latin1_general_cs NOT NULL,
`artifact_version` int(11) DEFAULT NULL,
`predictor` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`transformer` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`model_name` varchar(255) COLLATE latin1_general_cs NOT NULL,
`model_version` int(11) NOT NULL,
`model_framework` int(11) NOT NULL,
`batching_configuration` varchar(255) COLLATE latin1_general_cs DEFAULT NULL,
`optimized` tinyint(4) NOT NULL DEFAULT '0',
`instances` int(11) NOT NULL DEFAULT '0',
`transformer_instances` int(11) DEFAULT NULL,
`model_server` int(11) NOT NULL DEFAULT '0',
`revision` varchar(8) DEFAULT NULL,
`predictor_resources` varchar(1000) COLLATE latin1_general_cs DEFAULT NULL,
`transformer_resources` varchar(1000) COLLATE latin1_general_cs DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs;

ALTER TABLE `hopsworks`.`serving` ADD CONSTRAINT `specification_fk` FOREIGN KEY (`specification`) REFERENCES `serving_spec` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION;
ALTER TABLE `hopsworks`.`serving` ADD CONSTRAINT `canary_spec_fk` FOREIGN KEY (`canary_spec`) REFERENCES `serving_spec` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION;
>>>>>>> 23b86bb0 (Support canary serving deployments)
Empty file.

0 comments on commit 146ff51

Please sign in to comment.